如何使用HikariCP在jboss配置文件中配置JNDI数据源我在Hikari的帮助内容中找不到任何东西,只有Tomcat配置.
我有一个Spring webb应用程序,我在应用程序中定义了一个数据源,我想将其移动到JNDI数据源.
我的数据源定义是:
jdbc:postgresql://localhost:5432/database
org.postgresql.Driver
com.zaxxer.hikari.HikariDataSource
postgresql
5
10
user
password
和驱动程序定义:
org.postgresql.xa.PGXADataSource
我在其他方面遇到这个错误:
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation (“add”) failed – address: ([
(“subsystem” => “datasources”),
(“data-source” => “mydatasource”)
]) – failure description: {“JBAS014771: Services with missing/unavailable dependencies” => [
“jboss.driver-demander.java:jboss/datasources/mydatasource is missing [jboss.jdbc-driver.postgresql]”,
“jboss.data-source.java:jboss/datasources/mydatasource is missing [jboss.jdbc-driver.postgresql]”
]}
那么配置这个的正确方法是什么?
编辑:
按照创建Tomcat资源的指南并使用此question中提供的信息,我已经了解了这个DataSource定义:
jdbc:postgresql://localhost:5432/databasename
org.postgresql.Driver
postgresql
5
10
FailingConnectionOnly
username
password
false
false
false
我在Jboss中安装了postgresql驱动程序并声明了它.
并在Spring配置中
...
@Bean
public DataSource dataSource() {
final JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
dataSourceLookup.setResourceRef(true);
DataSource dataSourceTemp = null;
try {
dataSourceTemp = dataSourceLookup.getDataSource("jdbc/mydatasource");
} catch (DataSourceLookupFailureException e) {
log.error("DataSource not found.");
}
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDataSource(dataSourceTemp);
return new HikariDataSource(hikariConfig);
}
...
这段代码基于HikariJNDIFactory代码,一切似乎都有效,但我想我必须用连接属性创建一个属性对象,我必须在对象中包含哪些属性?
解决方法:
以下是“纯”Tomcat JNDI DataSource的配置:
你可能也会找到这个答案Re:Spring Tomcat JNDI资讯:
还推荐最新的HikariCP 2.0.1.
标签:java,postgresql,spring,jboss,hikaricp
来源: https://codeday.me/bug/20190624/1277707.html