0

我在 Openshift 上使用 Wildfly 10 和 MySQL 5.5 处理我的 webapp (wsesupport) 时遇到了困难。每次我从 Eclipse 中发布时,(在服务器视图中,右键单击 Openshift 的 wsesupport)我的项目没有部署,并且在日志文件中我可以找到错误消息:

2016-03-10 17:32:56,740 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "ROOT.war")]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"ROOT.war#wsesupport\".__FIRST__PHASE__ is missing [jboss.naming.context.java.wsesupport]", "jboss.persistenceunit.\"ROOT.war#wsesupport\" is missing [jboss.naming.context.java.wsesupport]"

我通过 myapp 的管理控制台在线重新添加了很多次我的数据源。我通过rhc port-forward wsesupport 命令然后在浏览器中做到了这一点localhost:9990。我注意到发布后,我在非 XA 数据源中所做的条目总是消失。

4

1 回答 1

0

在 Mac 中,我搜索了 Resources (cmd-shift-r) 并搜索了standalone.xml。我这样做是因为过去我记得我可以使用我的 Web 应用程序部署standalone.xml,并且该配置将添加到默认的 Wildlfy 配置(或类似的配置)中。所以我想试一试,也许我不知道项目中有这样的文件......

令人惊讶的是,它在一个隐藏的 openshift 文件夹中找到了它。如果您使用的是 eclipse(当然)和 openshift 插件,它会立即找到它。在那里我复制了当前的 MySqlDS 配置,如下所示:

            <datasource jndi-name="java:/wsesupport" enabled="true"
                use-java-context="true" pool-name="wsesupport" use-ccm="true">
                <connection-url>jdbc:mysql://${env.OPENSHIFT_MYSQL_DB_HOST}:${env.OPENSHIFT_MYSQL_DB_PORT}/wsesupport
                </connection-url>
                <driver>mysql</driver>
                <security>
                    <user-name>${env.OPENSHIFT_MYSQL_DB_USERNAME}</user-name>
                    <password>${env.OPENSHIFT_MYSQL_DB_PASSWORD}</password>
                </security>
                <validation>
                    <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                    <background-validation>true</background-validation>
                    <background-validation-millis>60000</background-validation-millis>
                    <!--<validate-on-match>true</validate-on-match> -->
                </validation>
                <pool>
                    <flush-strategy>IdleConnections</flush-strategy>
                </pool>
            </datasource>  

然后我再次发布了我的项目,它正在工作!

PS不要删除ExampleDS!WildFly 显然需要它!
PS2 不要在 Eclipse 中格式化standalone.xml!当我这样做时,我收到了这个奇怪的错误:java.lang.IllegalStateException: You have to start the service first!

祝你好运!

于 2016-03-10T23:28:00.843 回答