gpt4 book ai didi

java - 名称中的上下文非法 : java:app/jdbc/ActionBazaarDS

转载 作者:行者123 更新时间:2023-12-02 04:04:55 25 4
gpt4 key购买 nike

包含以下内容的 EAR:
META-INF/MANIFEST.MF
META-INF/application.xml
META-INF/glassfish-resources.xml
META-INF/wildfly-ds.xml
actionbazaar-chapter3-client.jar
actionbazaar-chapter3-ejb.jar
actionbazaar-chapter3-web.war

无法在 WildFly 9 中部署,但出现以下异常:java.lang.RuntimeException: WFLYNAM0030: 名称中的上下文非法:java:app/jdbc/ActionBazaarDS"

文件 META-INF/wildfly-ds.xml 使用有问题的 JNDI 名称为应用程序配置数据源。

<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.org/ironjacamar/schema
http://docs.jboss.org/ironjacamar/schema/datasources_1_1.xsd">
<datasource enabled="true"
jndi-name="java:app/jdbc/ActionBazaarDS"
pool-name="Chapter3EmbeddedH2Pool">
<connection-url>jdbc:h2:mem:chapter3 ;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
</datasource>
</datasources>

相同的 JNDI 名称适用于 GlassFIsh 4.1。但我不确定这里出了什么问题。请解释一下这里出了什么问题。

最佳答案

wildfly-ds.xml 文件是一种主要为了向后兼容而存在的机制。 JNDI 名称应位于全局命名空间中,例如 java:jboss/jdbc/ActionBazaarDS。

任何符合 Java EE 7 的实现现在都允许您在标准部署描述符中配置数据源:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd"
version="7">
<module>
<java>actionbazaar-chapter3-client.jar</java>
</module>
<module>
<ejb>actionbazaar-chapter3-ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>actionbazaar-chapter3-web.war</web-uri>
<context-root>/actionbazaar</context-root>
</web>
</module>
<library-directory>lib</library-directory>
<data-source>
<name>java:app/jdbc/ActionBazaarDS</name>
<url>jdbc:h2:mem:chapter3 ;DB_CLOSE_DELAY=-1</url>
...
</data-source>
</application>

这应该允许您在 java:app 命名空间中声明 DataSource,因为规范中的示例暗示了这一点。

关于java - 名称中的上下文非法 : java:app/jdbc/ActionBazaarDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34435324/

25 4 0
文章推荐: java - 作为变量传递时,Thymeleaf 片段无法解析,即
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com