티스토리 뷰

728x90
반응형

 포스팅은 WildFly와 Database를 연동하기 위한 시나리오에 대해 알아보겠습니다.


본 테스트는 다음과 같은 과정으로 수행됩니다. 

[Wildfly - Oracle 상호 연동 테스트]
1. ojdbc7.jar 파일 업로드
2. module.xml 파일 작성
3. standalone.xml -> driver 추가
4. standalone.xml -> datasource 추가
5. dbtest.jsp 작성
6. standalone server reboot
7. dbtest.jsp 호출 시 select 1 from dual (sysdate 정보 출력 확인)
 
각 Step 별 간략 설명입니다.

1. ojdbc7.jar 파일 업로드 (첨부파일 참조)

- 업로드 위치는 $WILDFLY_HOME/modules/com/oralce/main/ 위치입니다. $WIDLFLY_HOME/modules 이하 디렉토리는 생성해 주어야 합니다.
2. module.xml 파일 작성
- 작성 위치는 ojdbc7.jar 파일 업로드 위치와 상동합니다.
- 내용이 길지않아 첨부 및 작성해 드립니다.

[module.xml]

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="urn:jboss:module:1.3" name="com.oracle">

    <resources>

        <resource-root path="ojdbc7.jar"/>

    </resources>

    <dependencies>

        <module name="javax.api"/>

        <module name="javax.transaction.api"/>

        <module name="javax.servlet.api" optional="true"/>

    </dependencies>

</module>

- 빨간색으로 표시해 드린 부분은 standalone.xml 파일 작성시 매칭 정보로 활용됩니다.

3. standalone.xml 파일 작성

standalone.xml파일의 datasources subsystem을 확인합니다.

<subsystem xmlns="urn:jboss:domain:datasources:4.0">

            <datasources>

                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">

                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>

                    <driver>h2</driver>

                    <security>

                        <user-name>sa</user-name>

                        <password>sa</password>

                    </security>

                </datasource>

                <datasource jndi-name="java:jboss/oracleDataSource" pool-name="oracleDs" enabled="true" use-java-context="true" use-ccm="true">

                    <connection-url>jdbc:oracle:thin:@[ip]:[port]/[sid]</connection-url>

                    <driver>oracle</driver>

                    <security>

                        <user-name>id</user-name>

                        <password>passwd</password>

                    </security>

                </datasource>

                <drivers>

                    <driver name="h2" module="com.h2database.h2">

                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>

                    </driver>

                    <driver name="oracle" module="com.oracle">

                        <xa-datasource-class>oracle.jdbc.driver.OracleDriver</xa-datasource-class>

                    </driver>

                </drivers>

            </datasources>

</subsystem>

- 앞서 module.xml 파일과 매칭되는 정보를 빨간색으로 표시하였습니다.
- 파란색으로 표시된 정보는 datasource와 driver 간의 매칭 정보입니다.
- 설치 시 default로 추가되는 h2 이외에 oracle datasource 정보를 추가한 내용입니다.

4. Webadmin에서 Database 추가

wildfly webadmin default port는 9990입니다.
접속 후 오른쪽에 Configuration ==> Create a Datasource ==> start를 클릭합니다.



이후 다음과 같은 화면이 나오면 Subsystem ==> Datasources ==> Non-XA ==> Add 버튼을 클릭합니다.

자신이 추가하고자 하는 DB를 선택하고 Next를 클릭합니다.

Unique ID / JNDI Name 설정 후 Next를 클릭합니다.

Module Name / Driver Class 추가 후 Next를 클릭합니다.

마지막으로 Connection URL / ID / Passwd 정보 입력 후 Next를 클릭합니다.


5. dbtest.jsp 작성
- sample 파일을 첨부드립니다.
- 짙은 초록색으로 표시한 standalone.xml 파일의 jndi-name과 dbtest.jsp 파일의 lookup 부분이 매칭되어야 함을 유의 합니다.


6. standalone server를 재기동합니다.


7. dbtest.jsp 호출 시 select 1 from dual (sysdate 정보 출력 확인)
- dbtest.jsp 호출 시 select 1 from dual의 결과
Result is 2018-01-31 13:32:43.0
- 위 결과가 출력이 되면 정상 연동되었음을 판단할 수 있습니다.

8. 그럼 정상 연결되는지 Test Connection 버튼을 클릭합니다.

위와 같이 나오면 정상 연결되었음을 확인할 수 있습니다.


일반적으로 Database에 연동하기 위해서는 ID/PASSWD/IP/PORT/SID/JNDI Name이 필요하며 위 과정을 통해 해당 정보가 모두 옳바르게 기입되었는지 확인이 필요합니다.

고맙습니다.


728x90
반응형