簡體   English   中英

GlassFish 3.1.1修改資源名稱,然后抱怨找不到資源

[英]GlassFish 3.1.1 mangles resource name then complains it can't find it

根據本文和許多其他文檔,除非以java:app/為前綴,否則JDBC資源是全局部署的(在服務器范圍內可用)。 當我將jdbc/myDataSource更改為java:app/jdbc/myDataSource並將myConnectionPool更改為java:app/myConnectionPool ,部署因以下異常而失敗:

com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/myDataSource__pm), (applicationName=com.example.web_example_war_1.0-SNAPSHOT) }

如果沒有java:app/前綴,它可以正常工作,但是隨后將資源部署到服務器范圍內。

您是否正在部署捆綁在EAR文件中的WAR文件,請按照前綴“ java:app /”的鏈接用於EAR部署。

閱讀本節后 ,我意識到我不必在glassfish-resources.xml定義glassfish-resources.xml加上java:app/ scope前綴。 根據該文件:

如果在檔案文件中提供資源定義(即,.ear或其他檔案文件中的glassfish-resources.xml ),則假定它們是范圍內的資源。

然后繼續說,如果應用程序是EAR且路徑是META-INF/glassfish-resources.xml或(在我的情況下)它是WAR且路徑是WEB-INF/glassfish-resources.xml則資源是應用程序范圍的WEB-INF/glassfish-resources.xml

這可以解釋為什么GlassFish修改了該名稱。 因為我添加了前綴,所以很可能發生名稱沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM