들어가기에 앞서, 이 연동은 gcloud 서비스를 설치한 분만 되는 것 같습니다. 일반 분들은 따라하셔도 소용 X

jboss 에 cubrid의 driver를 인식하는 경로가 다 잡혀 있는 소스로 설치를 했기 때문에, 별도로 driver에 대한 설정이 필요없었습니다. 이점 참고하시기 바랍니다.

 

 

 

standalone.xml
<datasource jta="false" jndi-name="java:jboss/cubridDS" pool-name="cubrid" enabled="true" use-ccm="false">
     <!-- DB_IP, DB_NAME 부분은 상황에 맞게 변경, 인코딩은 보통 utf-8 씀 -->
     <connection-url>jdbc:cubrid:DB_IP:33000:DB_NAME:::?charset=utf-8</connection-url>
          <driver-class>cubrid.jdbc.driver.CUBRIDDriver</driver-class>
          <driver>cubrid</driver>
          <pool>
               <min-pool-size>30</min-pool-size>
               <max-pool-size>100</max-pool-size>
               <prefill>true</prefill>
               <use-strict-min>true</use-strict-min>
          </pool>
          <security>
          		<!-- USER_ID, USER_PW 부분은 알맞게 변경 -->
               <user-name>USER_ID</user-name>
               <password>USER_PW</password>
          </security>
          <validation>
             <check-valid-connection-sql>select 1</check-valid-connection-sql>
             <validate-on-match>true</validate-on-match>
             <background-validation>false</background-validation>
          </validation>
           <statement>
              <share-prepared-statements>false</share-prepared-statements>
           </statement>
</datasource>
<drivers>
     <driver name="cubrid" module="com.cubrid">
          <driver-class>cubrid.jdbc.driver.CUBRIDDriver</driver-class>
      </driver>
</drivers>

기존 소스를 지우고 넣습니다.

**************<datasources>안에 넣어야 하는 거 잊지마세요</datasources>**************

철자 s 붙은거 잘 확인하세요.

아직 수정해야할 부분이 더 있습니다.

<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

을 아래와 같이 변경해주세요


<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/cubridDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

에러나면 계정 비밀번호 확인 해보고, DB 주소 부분과 DB 이름 부분 확인 바람 그래도 틀리다면 철자 확인 

 

 

포트번호 열기
# firewall-cmd --permanent --zone=public --add-port=30000/tcp
# firewall-cmd --reload

혹시 큐브리드 매니저 같이 DB tool을 통해서 접근하실 분은 지금 cubrid가 사용중인 port 번호를 리눅스에서 열어줘야 해요.

 

 

modules 폴더 밑에 디렉토리 생성
# mkdir -p /GCLOUD/JBOSS/jboss-eap-7.3/modules/com/cubrid/main

 

드라이버 복사
# cp /GCLOUD/CUBRID/jdbc/JDBC-10.2.1.8849-cubrid.jar /GCLOUD/JBOSS/jboss-eap-7.3/modules/com/cubrid/main/JDBC-cubrid.jar

버전 잘 확인해서 경로 만들어주세요! 꼭. 저는 jboss-eap-7.3을 사용 했기 때문에 경로도 jboss-eap-7.3 입니다.

 

 

 

복사한 드라이버 module.xml에 등록
# vi /GCLOUD/JBOSS/jboss-eap-7.3/modules/com/cubrid/main/module.xml
# vi /GCLOUD/JBOSS/jboss-eap-7.3/modules/com/cubrid/main/module.xml
# 위 경로로 JDBC와 module.xml 생성해보고 안되면 아래 경로에도 해보세요.
# vi /GCLOUD/JBOSS/jboss-eap-7.3/modules/system/layers/base/com/cubrid/main/module.xml

<?xml version='1.0' encoding='UTF-8'?>
<module xmlns="urn:jboss:module:1.1" name="com.cubrid">
        <resources>
                <resource-root path="JDBC-cubrid.jar" />
        </resources>
        <dependencies>
                <module name="javax.api" />
                <module name="javax.transaction.api" />
        </dependencies>
</module>

위 내용을 복붙 해줍시다.

위 경로로 JDBC와 module.xml 생성해보고 안되면

vi /GCLOUD/JBOSS/jboss-eap-7.3/modules/system/layers/base/com/cubrid/main/module.xm

경로에도 드라이버 복사하고 module.xml 생성해보세요.

 

 

 

jboss 켜기
# /GCLOUD/JBOSS/jboss-eap-7.3/bin/standalone.sh &

아무런 에러도 나지 않는다면 일단은 연동이 된 것입니다. 중간에 cubrid와 connect이 실패했다는 노란 경고가 뜬다면 큐브리드를 켜주세요.

 

연동에 성공한 모습

 

연동이 되었는지 확실하게 확인하는 방법 중 하나는 JDBC 프로그래밍을 해보는 방법인데, 

이는 apache 연동까지 마친 후 해보겠습니다.

 

jboss 끄기
# /GCLOUD/JBOSS/jboss-eap-7.3/bin/jboss-cli.sh --connect command=:shutdown