如何在Payara Micro中添加JDBC驱动程序并配置JDBC资源?

tai*_*nos 14 java jdbc java-ee payara payara-micro

使用Java EE Payara Micro时,我有什么选择来设置JDBC驱动程序和资源?

Ant*_*nov 11

这种方法结合了Mike和Adam Bien通过tainos的答案.它涉及制作一个新的domain.xml,这是一个Payara配置文件.如果它与完整的Payara一起使用,则不需要修改应用程序.以下示例适用于PostgreSQL JDBC.

  1. payara-micro.jar使用存档管理器打开并解压缩文件/microdomain.xml.
  2. microdomain.xml在文本编辑器中打开.
  3. 如果您的应用程序已部署到完整的Payara,您可以从完整的Payara中复制粘贴以下更改domain.xml.
  4. </resources>使用dbname,dbuser,dbpassword,hostname:port和poolname 在包含的行的正上方添加:

    <jdbc-connection-pool connection-validation-method="auto-commit" driver-classname="org.postgresql.Driver" res-type="java.sql.Driver" name="poolname" is-connection-validation-required="true" connection-creation-retry-attempts="3" validate-atmost-once-period-in-seconds="60">
        <property name="URL" value="jdbc:postgresql://localhost:5432/dbname"></property>
        <property name="user" value="dbuser"></property>
        <property name="password" value="dbpassword"></property>
    </jdbc-connection-pool>
    <jdbc-resource pool-name="poolname" jndi-name="jdbc/poolname"></jdbc-resource>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在包含</server>以下内容的行上方添加:

    <resource-ref ref="jdbc/poolname"></resource-ref>
    
    Run Code Online (Sandbox Code Playgroud)
  6. 保存并关闭文本编辑器.
  7. 使用路径和文件名从命令行启动Payara micro.Linux语法:

    java -cp "/opt/jdbc/postgresql.jar:/opt/payara/micro.jar" fish.payara.micro.PayaraMicro --deploy webapp.war --domainConfig microdomain.xml
    
    Run Code Online (Sandbox Code Playgroud)


小智 7

将数据源定义添加到web.xml,然后将JDBC jar的jar文件添加到WEB-INF/lib中.然后像往常一样将war文件部署到Payara Micro.

<data-source>
  <name>java:global/ExampleDataSource</name>
  <class-name>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</class-name>
  <server-name>localhost</server-name>
  <port-number>3306</port-number>
  <database-name>mysql</database-name>
  <user>root</user>
  <password>root</password>
  <!-- Example of how to use a Payara specific custom connection pool    setting -->
  <property>
     <name>fish.payara.sql-trace-listeners</name>
     <value>com.sun.gjc.util.SQLTraceLogger</value>
  </property>
</data-source>
Run Code Online (Sandbox Code Playgroud)

有关如何在Payara示例GitHub存储库中执行此操作的完整示例.请参阅Payara GitHub上的数据源示例