Jboss7配置JNDI数据源
1.首先先配置数据库驱动module
例如:我这里使用的是PostgreSQL数据库
在Jboss7安装目录下的modules下配置我们的驱动module,配置方式如下图
module.xml文件的内容(注意文件名称必须为module.xml):
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
<resource-root path="postgresql-42.2.5.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
2.假设应用部署在standalone下,修改Jboss7安装目录下/standalone/configuration/standalone.xml,在文件中找到<datasources>
节点,参照已有的一个例子,配置我们自己的数据源即可,需要注意,还需要在下面添加driver配置,注意名称一定要和我们上面配置的那个module的名称一致
<!-- Jboss7已有示例 -->
<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:/HKiPOSPGSPostgreSQLDatasource" pool-name="HKiPOSPGSPostgreSQLDatasource" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/db_cepa</connection-url>
<driver>postgresql</driver>
<pool>
<min-pool-size>3</min-pool-size>
<max-pool-size>50</max-pool-size>
</pool>
<security>
<user-name>postgres</user-name>
<password>abc123</password>
</security>
<timeout>
<blocking-timeout-millis>3000</blocking-timeout-millis>
<idle-timeout-minutes>5</idle-timeout-minutes>
</timeout>
</datasource>
<!-- 配置依赖的驱动module -->
<drivers>
<!-- Jboss7 示例 -->
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="postgresql" module="org.postgresql">
<driver-class>org.postgresql.Driver</driver-class>
</driver>
</drivers>