如何在JBoss中拥有多个具有相同JNDI名称的数据源?

时间:2012-08-07 21:21:28

标签: java database jboss jndi

所以,我有一种情况,我将部署多个ear文件,我需要使用不同的数据库(可能)配置它们。

现在我有一个部署在JBoss中的* -ds.xml文件,其中包含一个JNDI名称,我的所有portlet和servlet都用它来查找数据库连接。如果我使用* -ds.xml文件部署多个ear文件,该文件指向不同的数据库,但具有相同的JNDI名称,则部署barfs。在部署不同的应用程序以隔离它们时,JNDI不应该更加模块化以防止命名冲突。

在代码中更改我的查找需要相当长的时间,那么部署方法是否有效?我唯一的另一个想法是将JNDI属性设置为要查找的数据源名称的值,然后首先查找该JNDI属性并根据检索到的“密钥”检索数据源。这对我来说似乎有点迟钝......

1 个答案:

答案 0 :(得分:3)

您可以在应用程序服务器上使用不同的名称(在服务器名称空间上)定义不同的数据源,然后将其映射到resource-ref名称(此时组件名称空间,因此每个应用程序可以有自己的名称)部署xml文件。

对于JBoss之前的7:https://community.jboss.org/wiki/HowDoICreateAResourceRef for as7:https://community.jboss.org/message/629666