【发布时间】:2014-09-12 02:04:30
【问题描述】:
我有一个耳朵,包括部署在 jboss 上的几个战争作为 7.1.1。 每场战争都有一个自定义的 JBoss Web 应用程序部署描述符 (jboss-web.xml) 声明上下文根和几个 jndi 数据源,这些数据源都在不同的 Web 应用程序之间共享。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>${app.name}</context-root>
<resource-ref>
<res-ref-name>${datasource}</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/TenantDS</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>${shared.datasource}</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/CustomerDS</jndi-name>
</resource-ref>
[...]
</jboss-web>
如果我用 jboss-web.xml 文件添加另一个战争,只声明第一个数据源(因为它是这场战争唯一使用的数据源),那么剩余的战争都无法再到达丢失的数据源。
特定于 webapp 的部署描述符如何具有这样的行为?那么,这个配置有什么问题?数据源应该在哪里声明?
【问题讨论】:
标签: java jboss jboss7.x web-deployment