具有相同资源的多个 JBoss Web 应用程序部署描述符
Posted
技术标签:
【中文标题】具有相同资源的多个 JBoss Web 应用程序部署描述符【英文标题】:Multiple JBoss Web Application Deployment Descriptor with same resources 【发布时间】: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 的部署描述符如何具有这样的行为?那么,这个配置有什么问题?数据源应该在哪里声明?
【问题讨论】:
【参考方案1】:您是否在 web.xml 中声明了数据源?您必须在每个 war 应用程序的 jboss-web.xml 和 web.xml 中都有它。
【讨论】:
在 web.xml 我有使用的数据源,它工作正常,但我需要在 jboss-web.xml(但不是 web.xml)中添加未使用的数据源,否则任何其他战争都无法到达 DS以上是关于具有相同资源的多个 JBoss Web 应用程序部署描述符的主要内容,如果未能解决你的问题,请参考以下文章
web工程迁移---在一个jboss5或jboss6中运行多个实例
将 Java EE Web 应用程序部署到 Wildfly/JBoss EAP
如果有多个具有相同类名且没有资源 ID 的元素,如何检查元素
Xcode 显示“该文档发现并修复了 4 个问题。/多个资源具有相同的名称:groupTableViewBackgroundColor。”警报