首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用错误的pax-jdbc DataSource在Karaf中绑定

使用错误的pax-jdbc DataSource在Karaf中绑定
EN

Stack Overflow用户
提问于 2016-09-06 08:29:01
回答 1查看 1.2K关注 0票数 0

在Karaf4.0.3中加载了不同的OSGi包,pax-jdbc-config加载了多个javax.sql.DataSource。例如,将两个数据源配置到不同的数据库:

代码语言:javascript
复制
karaf@root()> service:list DataSource
[javax.sql.DataSource]
----------------------
 dataSourceName = datasourceA
 felix.fileinstall.filename = file:/opt/karaf/etc/org.ops4j.datasource-dba.cfg
 osgi.jdbc.driver.name = mysql-pool
 osgi.jndi.service.name = datasourceA
 password = secretpassword
 service.bundleid = 207
 service.factoryPid = org.ops4j.datasource
 service.id = 276
 service.pid = org.ops4j.datasource.2ab06071-d3fa-4d7e-b508-19f36892cb7e
 service.scope = singleton
 url = jdbc:mysql://mysql.example.com/dba
 user = dbuser
Provided by : 
 OPS4J Pax JDBC Config (207)
Used by: 
 MODULE B (29)

[javax.sql.DataSource]
----------------------
 dataSourceName = datasourceB
 felix.fileinstall.filename = file:/opt/karaf/etc/org.ops4j.datasource-dbb.cfg
 osgi.jdbc.driver.name = PostgreSQL JDBC Driver-pool
 osgi.jndi.service.name = datasourceB
 password = secretpassword
 service.bundleid = 207
 service.factoryPid = org.ops4j.datasource
 service.id = 278
 service.pid = org.ops4j.datasource.a7b84423-a605-4010-9806-db7bcc0bccd4
 service.scope = singleton
 url = jdbc:postgresql://postgresql.example.com/dbb
 user = dbuser
Provided by : 
 OPS4J Pax JDBC Config (207)

我的问题是包模块B应该使用datasourceB。它被配置为在所有源文件和datasourceB中使用blueprint.xml。

代码语言:javascript
复制
...
<reference id="datasourceB" interface="javax.sql.DataSource"/>
...

我真的不明白,karaf包使用不同的DataSource有多容易。

当删除datasourceA配置文件时,模块B将正确使用datasourceA

这个问题是关于配置文件顺序错误还是什么的?

编辑:

我发现当我删除datasourceA配置文件,因此Karaf删除该DataSource (不存在于service:list DataSource中)时,模块B正确地使用了DataSource

但我还是不知道为什么会这样。我错过了一些有关这方面的文件吗?是pax-jdbc-config问题还是卡拉夫问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 12:12:06

当引用数据源时,可以使用筛选器指示您想要的是哪个:

代码语言:javascript
复制
<reference id="datasourceB" interface="javax.sql.DataSource" filter="(dataSourceName=datasourceB)" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39344163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档