代码之家  ›  专栏  ›  技术社区  ›  x4k3p

使用本地数据源,而不是在独立中指定它。xml(WildFly)

  •  0
  • x4k3p  · 技术社区  · 8 年前

    我通常将我的数据源列在独立列表中。类似xml(只是一个示例):

    <datasource jta="false" jndi-name="java:jboss/datasources/myDB" pool-name="myDB" enabled="true" use-ccm="false">
        <connection-url>jdbc:mysql://mysql/myDB</connection-url>
        <driver>mysql</driver>
        <security>
            <user-name>root</user-name>
            <password>password</password>
        </security>
        <validation>
            <validate-on-match>false</validate-on-match>
            <background-validation>false</background-validation>
        </validation>
        <statement>
            <share-prepared-statements>false</share-prepared-statements>
        </statement>
    </datasource>
    

    MySQL驱动程序已安装到WildFly。我知道可以将数据源添加到 webapp --> WEB-INF --> my-ds.xml

    但是当我把buildet war部署到WildFly时

    16:59:15,121 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 3) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "poc")]) - failure description: {
        "WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mysql"],
        "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.data-source.\"jboss.naming.context.java.jboss.datasources.testDB\" is missing [jboss.jdbc-driver.mysql]"]
    }
    16:59:15,124 ERROR [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0021: Deploy of deployment "poc.war" was rolled back with the following failure message: 
    {
        "WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mysql"],
        "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.data-source.\"jboss.naming.context.java.jboss.datasources.testDB\" is missing [jboss.jdbc-driver.mysql]"]
    }
    

    我的问题是:

    如何将数据源定义从单机版移动。将xml添加到我的项目中,并在部署到WildFly时使其工作

    2 回复  |  直到 8 年前
        1
  •  0
  •   Varsha    8 年前

    而不是放置数据源-ds。在应用程序中,您可以将其放在部署目录中。

        2
  •  0
  •   x4k3p    8 年前

    已经找到了解决问题的方法。

    首先是添加一个 boss-deployment-structure.xml (至 WEB-INF f、 e.)如果必须指定驾驶员:

    <?xml version="1.0"?>
    <jboss-deployment-structure>
        <deployment>
            <dependencies>
                <module name="com.mysql" services="export">
                    <imports>
                        <include path="META-INF**"/>
                        <include path="com**"/>
                        <!-- assuming user of the driver is com.something -->
                    </imports>
                </module>
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
    

    然后我通过以下方式添加数据源: -ds.xml 图案

    在我的 persistence.xml 我现在可以使用数据源了。

    推荐文章