在AS7当中,引入了新的module的概念。因此,如果需要在AS7中添加对PostgreSQL的支持,需要做的是加入一个新的module。查看一下AS7的目录结构:

Bash代码 复制代码 收藏代码
  1. weli@power:~/projs/jboss-as-7.1.1.Final$ ls
  2. LICENSE.txt bundles jboss-modules.jar
  3. README.txt copyright.txt modules
  4. appclient docs standalone
  5. bin domain welcome-content


我们进到modules目录,创建postgres的目录:

Bash代码 复制代码 收藏代码
  1. mkdir -p org/postgresql/main


进入到创建好的目录,从PostgreSQL的网站下载所需的jdbc库,我下载的是postgresql-9.1-903.jdbc4.jar:

Java代码 复制代码 收藏代码
  1. weli@power:~/projs/jboss-as-7.1.1.Final/modules/org/postgresql/main$ ls
  2. postgresql-9.1-903.jdbc4.jar
weli@power:~/projs/jboss-as-7.1.1.Final/modules/org/postgresql/main$ ls
postgresql-9.1-903.jdbc4.jar


然后我们要制作module.xml,内容如下:

Xml代码 复制代码 收藏代码
  1. <module xmlns="urn:jboss:module:1.1" name="org.postgresql">
  2. <!-- Load with jboss-cli command:
  3. /subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql)
  4. -->
  5. <resources>
  6. <resource-root path="postgresql-9.1-903.jdbc4.jar"/>
  7. </resources>
  8. <dependencies>
  9. <module name="javax.api"/>
  10. <module name="javax.transaction.api"/>
  11. </dependencies>
  12. </module>


这样,这个module就算制作完成了:

Bash代码 复制代码 收藏代码
  1. weli@power:~/projs/jboss-as-7.1.1.Final/modules/org/postgresql/main$ ls
  2. module.xml
  3. postgresql-9.1-903.jdbc4.jar


接下来要修改AS7的配置文件,如果用standalone模式,那么就修改standalone/configuration/standalone.xml:

Xml代码 复制代码 收藏代码
  1. <datasources>
  2. <drivers>
  3. <driver name="h2" module="com.h2database.h2">
  4. <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
  5. </driver>
  6. <driver name="postgresql-driver" module="org.postgresql">
  7. <driver-class>org.postgresql.Driver</driver-class>
  8. </driver>
  9. </drivers>
  10. </datasources>


AS7自带一个H2的module,下面的postgresql-driver是我们添加的。这样,就完成了对postgres模块的导入。其实,我们不必手工编辑standalone.xml来添加模块。可以在AS7启动后,通过命令终端来添加:

Bash代码 复制代码 收藏代码
  1. /subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql)


如果我们要使用这个模块,可以配置datasource:

Xml代码 复制代码 收藏代码
  1. <datasource jndi-name="java:jboss/datasources/SOME_DB" pool-name="SOME_DB" enabled="true" use-java-context="true">
  2. <connection-url>jdbc:postgresql:SOME_DB</connection-url>
  3. <driver>postgresql-driver</driver>
  4. <security>
  5. <user-name>XXX</user-name>
  6. <password>YYY</password>
  7. </security>
  8. </datasource>
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐