วันพฤหัสบดีที่ 12 กันยายน พ.ศ. 2556

Config Datasource บน JBoss AS7

เราจะต้อง Config JDBC Library ให้มีบน Library ก่อน แล้วถึงจะ Config Datasource อีกทีนึงครับ ผมจะยกตัวอย่างของ Oracle

1. Config JDBC Library ก่อน โดย Config ไว้ที่
  • {JBOSS_HOME}\modules\ แล้วสร้าง Path ของ Library ไว้เช่น com\oracle\ojdbc6\main
  • สร้างไฟล์ module.xml แล้วเอา Jar File มาวางไว้ โดยใน Module.xml ส่วนสี่แดงต้องแก้ไข
    • name คือชื่อส่วน folder path ที่สร้างไว้
    • resource-root คือชื่ือ Jar File ที่เราเอามาวางไว้
 <?xml version="1.0" encoding="UTF-8"?>  
 <module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc6">  
  <resources>  
   <resource-root path="ojdbc6.jar"/>  
  </resources>  
  <dependencies>  
           <module name="javax.api" />  
     <module name="javax.transaction.api"/>  
     <module name="javax.servlet.api" optional="true"/>  
  </dependencies>  
 </module>  

2. Config Datasource

  • แก้ไข {JBOSS_HOME}\standalone\configuration\standalone.xml แล้วเพิ่มในส่วนของ Datasource และ Drivers
    • ส่วนสีแดงต้องแก้ไขให้ถูกต้องตามที่ Config ไว้
    • ส่วนสีหน้ำเงินจะต้องตรงกันเพราะ driver จะไป references กับ config driver ข้างล่างที่ตรงสีฟ้าครับ
         <datasource jndi-name="java:jboss/datasources/SampleJPADS" pool-name="SampleJPADS" enabled="true" use-java-context="true">  
           <connection-url>jdbc:oracle:thin:@localhost:1521/TEST</connection-url>  
           <driver>oracle</driver>  
           <security>  
             <user-name>test</user-name>  
             <password>test1234</password>  
           </security>  
         </datasource>  

 <driver name="oracle" module="com.oracle.ojdbc6">  
             <xa-datasource-class>oracle.jdbc.driver.OracleDriver</xa-datasource-class>  
           </driver>  
         </drivers>  

3. แล้วทำการ Restart Server ก็จะใช้งาน Datasource ได้แล้วครับ โดยเรียกจาก jndi-name จากตัวอย่าง java:jboss/datasources/SampleJPADS

4. เราสามารถดู Log Start Server ได้ว่าใช้งานได้รึยัง ตามนี้ ครับ
[org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/SampleJPADS]