openshift:重新启动时保持mysql数据源

openshift:重新启动时保持mysql数据源,mysql,openshift,datasource,wildfly-10,Mysql,Openshift,Datasource,Wildfly 10,我在Openshift上用Wildfly 10和MySQL 5.5开发我的webapp(wsesupport)。每次我从eclipse内部发布时,(在服务器视图中,右键单击Openshift上的wsesupport),我的项目都没有部署,在日志文件中我可以找到错误消息: 2016-03-10 17:32:56740错误[org.jboss.as.controller.management操作](控制器引导线程)WFLYCTL0013:操作(“部署”)失败-地址:([(((“部署”=>“ROOT.

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

2016-03-10 17:32:56740错误[org.jboss.as.controller.management操作](控制器引导线程)WFLYCTL0013:操作(“部署”)失败-地址:([(((“部署”=>“ROOT.war”)))-故障描述:{“WFLYCTL0180:缺少/不可用依赖项的服务”=>[
“jboss.persistenceunit.\“ROOT.war#wsesupport\”。缺少[jboss.naming.context.java.wsesupport]”,
“jboss.persistenceunit.\”根.war#wsesupport\”缺少[jboss.naming.context.java.wsesupport]”


我多次通过myapp的管理控制台在线重新添加我的数据源。我通过
rhc port forward WSESSupport
命令,然后在浏览器
localhost:9990
中重新添加数据源。我注意到在发布后,我在非XA数据源中创建的条目总是不显示。

在Mac中,我搜索资源(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>  

jdbc:mysql://${env.OPENSHIFT\u mysql\u DB\u HOST}:${env.OPENSHIFT\u mysql\u DB\u PORT}/wsesupport
mysql
${env.OPENSHIFT\u MYSQL\u DB\u USERNAME}
${env.OPENSHIFT\u MYSQL\u DB\u PASSWORD}
选择1
真的
60000
空闲连接
然后我再次发布了我的项目,它开始工作了

PS不要删除示例!WildFly显然需要它!
PS2没有在Eclipse中格式化standalone.xml!当我这样做时,我收到了一个奇怪的错误:
java.lang.IllegalStateException:您必须首先启动服务!

祝你好运