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

2022-09-03 12:14:56

在使用 Java EE Payara Micro 时,我有哪些设置 JDBC 驱动程序和资源的选项?


答案 1

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

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

    <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>
    
  5. 在包含以下内容的行的正上方添加:</server>

    <resource-ref ref="jdbc/poolname"></resource-ref>
    
  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
    

答案 2

将数据源定义添加到 Web.xml然后将 JDBC jar 的 jar 文件添加到 WEB-INF/lib 中。然后像往常一样将战争文件部署到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>

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


推荐