根据this article和许多其他文档中,JDBC 资源是全局部署的(在服务器范围内可用),除非以 java:app/
为前缀。当我将 jdbc/myDataSource
更改为 java:app/jdbc/myDataSource
并将 myConnectionPool
更改为 java:app/myConnectionPool
,部署失败并出现以下异常:
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:无效资源:{ ResourceInfo:(jndiName=java:app/jdbc/myDataSource__pm), (applicationName=com.example.web_example_war_1.0-SNAPSHOT ) }
没有 java:app/
前缀它也能正常工作,但是资源会在服务器范围内部署。
最佳答案
您是否正在部署捆绑在 EAR 文件中的 WAR 文件,因为根据链接,您的“java:app/”前缀用于 EAR 部署。
关于java - GlassFish 3.1.1 损坏资源名称,然后提示找不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8748909/