小编Ger*_*osa的帖子

如何使用HikariCP在Jboss中配置JNDI数据源?

如何使用HikariCP在jboss配置文件中配置JNDI数据源在Hikari的帮助内容中找不到其他内容,只有Tomcat配置。

我有一个Spring webb应用程序,我在应用程序内部定义了一个数据源,我想将其移至JNDI数据源。

我的数据源定义是:

<datasource jndi-name="java:jboss/datasources/mydatasource" pool-name="mydatasource" enabled="true" use-java-context="true">
     <connection-url>jdbc:postgresql://localhost:5432/database</connection-url>
     <driver-class>org.postgresql.Driver</driver-class>
     <datasource-class>com.zaxxer.hikari.HikariDataSource</datasource-class>
     <driver>postgresql</driver>
     <pool>
        <min-pool-size>5</min-pool-size>
        <max-pool-size>10</max-pool-size>
     </pool>
     <security>
         <user-name>user</user-name>
         <password>password</password>
     </security>
</datasource>
Run Code Online (Sandbox Code Playgroud)

和驱动程序定义:

<driver name="postgresql" module="org.postgresql.jdbc">
    <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
Run Code Online (Sandbox Code Playgroud)

我得到这个错误,其中包括:

错误[org.jboss.as.controller.management-operation](控制器引导线程)​​JBAS014613:操作(“ add”)失败-地址:([(“ subsystem” =>“ datasources”),(“ data-source” =>“ mydatasource”)])-故障描述:{“ JBAS014771:服务缺少/不可用依赖项” => [“ jboss.driver-demander.java:jboss/datasources/mydatasource丢失[jboss.jdbc-driver.postgresql ]“,” jboss.data-source.java:jboss/datasources/mydatasource丢失[jboss.jdbc-driver.postgresql]“]}

那么正确的配置方式是什么?

编辑:

遵循创建Tomcat资源的指南并使用此问题中提供的信息,我来介绍以下DataSource定义:

<datasource jta="false" jndi-name="java:jboss/mydatasource" pool-name="mydatasource" enabled="true" use-ccm="false">
    <connection-url>jdbc:postgresql://localhost:5432/databasename</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <driver>postgresql</driver>
    <pool>
        <min-pool-size>5</min-pool-size>
        <max-pool-size>10</max-pool-size>
        <flush-strategy>FailingConnectionOnly</flush-strategy>
    </pool>
    <security>
        <user-name>username</user-name>
        <password>password</password>
    </security>
    <validation>
        <validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
    </validation>
    <statement>
         <share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>
Run Code Online (Sandbox Code Playgroud)

我在Jboss中安装了postgresql驱动程序并声明了它。

并在Spring配置中

...
@Bean
public DataSource …
Run Code Online (Sandbox Code Playgroud)

java postgresql jboss spring hikaricp

6
推荐指数
1
解决办法
7745
查看次数

标签 统计

hikaricp ×1

java ×1

jboss ×1

postgresql ×1

spring ×1