[英]How to bundle glassfish-resources.xml with distributed .jar file?
在glassfish-resources.xml部署描述符文件中定义了应用程序范围的资源。 该文件位于模块或应用程序归档文件的META-INF目录中。
但是,事实并非如此。 完成后,将.jar文件部署到我的Glassfish 3.1.2服务器上,他抛出了几个异常,并说:
准备应用程序时发生异常:无效的资源:jdbc / malivechat-db-ds__pm
我的资源的JNDI名称实际上是“ jdbc / malivechat-db-ds”。 因此,我不知道下划线“ __pm”来自(?)。 但是,如果我分别添加资源,例如说我通过管理控制台执行此操作,或者让Netbeans为我部署该程序包,则一切正常。
有没有办法将glassfish-resources.xml文件与我们的分布式.jar文件捆绑在一起?
我的看法是,必须如此。 尽管添加资源似乎是特定于应用程序服务器的(为什么?我是说为什么要使用“ glassfish-resources.xml”,而不仅仅是“ resources.xml”?),但是肯定应该有一种方法来添加所有供应商特定的* -resources.xml文件。到我们的.jar文件,从而“支持”一组不同的应用程序服务器?
无论哪种方式,按照Glassfish文档所说的那样执行似乎都不起作用,或者我遇到了完全错误的事情。
也许这是您的问题: 错误243034-为了安装jdbc池,未在Glassfish上执行项目中的文件glassfish-resources.xml。
可能相关:
如何在部署时自动在Glassfish中设置JTA数据源/资源?
如何部署Web应用程序并创建其资源 (使用建议的解决方案)
我有同样的问题。 我通过在资源名称中指定JNDI应用程序名称空间来解决此问题。 尝试将glassfish-resources.xml
JNDI资源名称更改为如下所示: jndi-name="java:app/malivechat-db-ds"
并使用相同的语法查找您的资源。 例如在persistence.xml
:
<jta-data-source>java:app/malivechat-db-ds</jta-data-source>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.