所以,我有一种情况,我将部署多个 ear 文件,每个文件都需要配置不同的数据库(可能)。
现在我有一个部署在 JBoss 中的 *-ds.xml 文件,它有一个 JNDI 名称,我的所有 portlet 和 servlet 都使用它来查找数据库连接。如果我使用指向不同数据库但具有相同 JNDI 名称的 *-ds.xml 文件部署多个 ear 文件,则部署 barfs。在部署不同的应用程序以隔离它们时,JNDI 不应该更加模块化以防止命名冲突。
更改我在代码中的查找需要相当长的时间,那么有没有一种部署方法可行?我唯一的另一个想法是将 JNDI 属性设置为要查找的数据源名称的值,然后首先查找该 JNDI 属性并根据检索到的“键”检索数据源。这对我来说似乎有点骇人听闻......