openshift:重启时保持mysql数据源

时间:2016-03-10 23:28:01

标签: mysql openshift datasource wildfly-10

我在使用Wildfly 10和MySQL 5.5的Openshift上使用我的webapp(wsesupport)进行了挣扎。每次我在eclipse中发布时,(在服务器视图中,右键单击Openshift上的wsesupport)我的项目没有部署,在日志文件中我可以找到错误消息:

Encoding.Default

我通过myapp的管理控制台在线重新添加了我的数据源。我是通过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]"命令然后在浏览器rhc port-forward wsesupport 中完成的。我注意到在发布之后,我在Non XA数据源中创建的条目总是消失。

1 个答案:

答案 0 :(得分:0)

在Mac中,我搜索了Resources(cmd-shift-r)并搜索了standalone.xml。我这样做是因为在过去我记得我可以使用我的网络应用程序部署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!

祝你好运!