有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

未安装java Wildfly所需的服务:\

我试图部署一个JPA rest应用程序,但在Wildfly 10上部署时出现以下错误

错误:

"{
    \"WFLYCTL0412: Required services that are not installed:\" => [
        \"jboss.naming.context.java.app.\\\"internal-1.0\\\".newDevConnection\",
        \"jboss.naming.context.java.jboss.datasources.ExampleDS\"
    ],
    \"WFLYCTL0180: Services with missing/unavailable dependencies\" => [
        \"jboss.naming.context.java.module.\\\"internal-1.0\\\".\\\"internal-1.0\\\".DefaultDataSource is missing [jboss.naming.context.java.jboss.datasources.ExampleDS]\",
        \"jboss.persistenceunit.\\\"internal-1.0.war#com.e24_MavenProjectTest_war_1.0-SNAPSHOTPU\\\" is missing [jboss.naming.context.java.app.\\\"internal-1.0\\\".newDevConnection]\",
        \"jboss.persistenceunit.\\\"internal-1.0.war#com.e24_MavenProjectTest_war_1.0-SNAPSHOTPU\\\".__FIRST_PHASE__ is missing [jboss.naming.context.java.app.\\\"internal-1.0\\\".newDevConnection]\"
    ]
}"

坚持。xml

<persistence-unit name="app-pu" transaction-type="JTA">
    <jta-data-source>java:/newDevConnection</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
</persistence-unit>

独立的数据源。xml

<datasources>
        <datasource jndi-name="java:/newDevConnection" pool-name="secret" enabled="true" use-java-context="true">
            <connection-url>jdbc:mysql://secret...</connection-url>
            <driver>mysql</driver>
            <security>
                <user-name>secret</user-name>
                <password>secret</password>
            </security>
        </datasource>
 <drivers>
        <driver name="com.mysql" module="mysql.mysql-connector-java">
          <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
        </driver>
        <driver name="mysql" module="org.mysql">
            <driver-class>com.mysql.jdbc.Driver</driver-class>
        </driver>
     </drivers>
</datasources>

编辑:mysql jdbc driver位于project/WEB-INF/lib文件夹中

“xa数据源”和“非xa数据源”有什么区别

我走对了吗?提前谢谢/马库斯


共 (2) 个答案

  1. # 1 楼答案

    从错误消息中,您似乎删除了其他服务所需的示例。所以把这部分放回数据源

    和XA数据源支持事务

  2. # 2 楼答案

    我知道这是一年前的事了,但万一有人问这个问题,我会把我为这个问题所做的事情发出去。我花了很长时间才明白自己是新的JBOSS管理员

    Short story是Examples在配置文件中保留了一个默认部分,这是错误的来源。我通常使用域配置文件,所以我将展示我的示例,但Standalone是一样的,只需在前面删除配置文件名。默认绑定是ee子系统中的部分

    <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
    

    默认的datasource="java:jboss/datasources/ExampleDS是问题的根源

    可以删除默认数据源并将其设置为未定义

    /profile=Profile_NameHere/subsystem=datasources/data- 
     source=ExampleDS:remove()
    /profile=Profile_NameHere/subsystem=ee/service=default-bindings:write- 
     attribute(name=datasource,value=undefined)
    

    或者

    您可以将自己的数据源设置为默认值

    /profile=Profile_NameHere/subsystem=ee/service=default-bindings:write- 
     attribute(name=datasource,value=java\:\/jboss\/datasources/name)