所以,我有一种情况,我将部署多个ear文件,我需要使用不同的数据库(可能)配置它们。
现在我有一个部署在JBoss中的* -ds.xml文件,其中包含一个JNDI名称,我的所有portlet和servlet都用它来查找数据库连接。如果我使用* -ds.xml文件部署多个ear文件,该文件指向不同的数据库,但具有相同的JNDI名称,则部署barfs。在部署不同的应用程序以隔离它们时,JNDI不应该更加模块化以防止命名冲突。
在代码中更改我的查找需要相当长的时间,那么部署方法是否有效?我唯一的另一个想法是将JNDI属性设置为要查找的数据源名称的值,然后首先查找该JNDI属性并根据检索到的“密钥”检索数据源。这对我来说似乎有点迟钝......
答案 0 :(得分:3)
您可以在应用程序服务器上使用不同的名称(在服务器名称空间上)定义不同的数据源,然后将其映射到resource-ref名称(此时组件名称空间,因此每个应用程序可以有自己的名称)部署xml文件。
对于JBoss之前的7:https://community.jboss.org/wiki/HowDoICreateAResourceRef for as7:https://community.jboss.org/message/629666