Wildfly所需的未安装服务:\

时间:2017-08-28 11:05:00

标签: java jpa jboss datasource 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]\"
    ]
}"

persistance.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>

standalone.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文件夹

&#34; xa-datasource&#34;有什么区别?和&#34;非xa-datasource&#34;?

我在这里走在正确的轨道上吗?提前谢谢/马库斯

2 个答案:

答案 0 :(得分:0)

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

XA-Datasource支持交易。

答案 1 :(得分:0)

我知道它已经有一年了,但是如果有人遇到这个问题,我会发布我为此问题所做的事情。这让我永远想出新的JBOSS Admin。

简短的故事是ExampleDS在配置文件中保留了一个默认部分,这是您的错误来源。我通常使用域名配置文件,所以我将展示我的示例,但Standalone是相同的,只需删除前面的配置文件名称。 Default-Bindings是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是问题的根源。

您可以删除并将默认DataSource设置为undefined。

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

OR

您可以将自己的DataSource设置为默认值。

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