多个JBoss Web应用程序部署描述符,具有相同的资源

时间:2014-07-21 14:11:58

标签: java jboss jboss7.x web-deployment

我有一个耳朵,包括在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文件添加另一场战争,只声明第一个数据源(因为它是这场战争中唯一使用的数据源),那么剩下的战争都不能再到达丢失的数据源了。

特定于Web应用的部署描述符如何具有此类行为?那么,这个配置有什么问题?应该在哪里声明数据源?

1 个答案:

答案 0 :(得分:0)

您是否在web.xml中声明了数据源?你必须在每个war应用程序的jboss-web.xml和web.xml中都有它。