JBoss 7 缺少 jboss.naming.context.java - 无法运行 EAR

问题描述 投票:0回答:1

我正在尝试在 jboss 7 上运行 Ear,每次运行 Ear 时都会收到此错误:

“缺少/不可用依赖项的服务”=> ["jboss.persistenceunit.\"PROJECTNAME.jar#PROJECTNAMEPU\" 缺失 [ jboss.naming.context.java.PROJECTNAME]"]

此外,在出现此错误之前,我收到了每个会话/实体 bean 的反馈;

信息 [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC 服务线程 1-8)名为会话 bean 的 JNDI 绑定 SESSIONBEAN 位于部署单元子部署“PROJECTNAME.war”中 部署“PROJECTNAME.ear”如下:

我尝试查找它,然后发现我缺少什么,有什么建议或帮助吗?

更新: 在我的 jbossstandalone.xml 中

<datasource jndi-name="java:jboss/datasources/PROJECTNAME" enabled="true" use-java-context="true" pool-name="PROJECTNAME" use-ccm="false">
    <connection-url>jdbc:oracle:thin:@SERVER:PORT:support</connection-url>
    <driver>ojdbc14.jar</driver>
    <pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>20</max-pool-size>
        <prefill>true</prefill>
    </pool>
    <security>
        <user-name>USERNAME</user-name>
        <password>PASS</password>
    </security>
</datasource>
<xa-datasource jndi-name="java:jboss/datasources/PROJECTNAME" pool-name="PROJECTNAME">
   <driver>ojdbc14.jar</driver>
   <xa-datasource-property name="URL">jdbc:oracle:thin:@SERVER</xa-datasource-property>
   <xa-pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>20</max-pool-size>
        <prefill>true</prefill>
   </xa-pool>
   <security>
        <user-name>USERNAME</user-name>
        <password>PASS</password>
   </security>
</xa-datasource>
<drivers>
    <driver name="oracle" module="com.oracle.ojdbc14">
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    </driver>
</drivers>

我的持久性.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="PROJECTNAMEPU" transaction-type="JTA">
    <jta-data-source>java:jboss/datasources/PROJECTNAME</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
  </persistence-unit>
</persistence>
java jboss ejb
1个回答
0
投票

看起来您的 EAR 需要在 JBoss 中配置一些 JNDI 绑定,可能是供 JPA 使用的数据源。 Java EE 应用程序可以依赖于容器提供的服务,这些服务通常使用命名服务 (JNDI) 进行查找。

检查您尝试部署的 EAR 附带的部署/安装说明,或者参考提供该应用程序的人员。不幸的是,如果没有更多信息,就不可能提供更多帮助。

© www.soinside.com 2019 - 2024. All rights reserved.