1

有人知道如何连接jboss-as-7.1.1到 PostgreSQL 吗?

4

1 回答 1

23

(请注意,这是为 JBoss AS 7.1.1 编写的;如果在较新的版本上,请记住这一点,因为事情可能已经改变。)

下载 PgJDBC。我假设您正在使用postgresql-9.1-902.jdbc4.jar,在撰写本文时的当前版本。如果您需要不同的版本,请调整任何文件名以匹配。

现在将 JDBC 驱动程序部署到 JBoss AS 7,方法是将其放在文件deployments夹中或使用. 这将适用于大多数(但不是全部)目的。deployjboss-cli

或者,您可以定义一个 PostgreSQL JDBC 驱动程序模块:

  1. 创建路径$JBOSS_HOME/modules/org/postgresql/main。该modules/org部分应该已经存在,为其余部分创建目录。
  2. $JBOSS_HOME/modules/org/postgresql/main/module.xml以下内容中,更改resource-rootPgJDBC 驱动程序的条目以引用您希望使用的驱动程序。

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.postgresql">
         <resources>
             <resource-root path="postgresql-9.1-902.jdbc4.jar"/>
         </resources>
         <dependencies>
             <module name="javax.api"/>
             <module name="javax.transaction.api"/>
             <module name="javax.servlet.api" optional="true"/>
         </dependencies>
     </module>
    
  3. module.xml进入与地点相同的目录postgresql-9.1-902.jdbc4.jar
  4. 启动 JBoss AS
  5. jboss-cli通过运行打开$JBOSS_HOME/bin/jboss-cli --connect
  6. 运行命令:

    /subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql)
    
  7. 现在创建任何所需的数据源等,postgresql-driver用作驱动程序名称。

jboss-cli您可以通过 web ui、使用data-source create命令(请参阅data-source --helpdata-source add --help)或通过部署-ds.xml如下文件来创建数据源:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <datasource jndi-name="java:/datasources/some-ds" enabled="true" use-java-context="true"  
        pool-name="some-ds-pool">
    <connection-url>jdbc:postgresql:dbname</connection-url>
    <driver>postgresql-driver</driver>
    <security>
      <user-name>username</user-name>
      <password>password</password>
    </security>
  </datasource>
</datasources>
于 2012-09-13T10:00:03.477 回答