2017-05-11 39 views
1

如何在Openshift v3 Wildfly容器的数据源standalone.xml上设置enabled =“true”,如下所示。openshift v3中的<OPENSHIFT_MYSQL_ENABLED>环境变量是什么?

<datasource jndi-name="java:jboss/datasources/MySQLDS" enabled="true" use-java-context="true" pool-name="MySQLDS" use-ccm="true"> 

我把OPENSHIFT_MYSQL_ENABLED环境变量设置为“true”,但没有发生任何事情。


答案参考网站是以下网址:

https://developer.jboss.org/wiki/DataserviceBuilderOnOpenShiftV3Online

回答

0

我正在处理同样的问题:环境变量OPENSHIFT_MYSQL_ENABLED是由变量替换过程中忽略了,所以我不得不启动数据源与我徒手,这就是我所做的: (我打算假设你已经在你的系统上安装了OC工具)

  1. 日志到OC:oc login
  2. 列表中的所有吊舱,并找到WildFly实例:oc get pods
  3. 进入容器的SSH控制台:oc rsh <<pod-name>>
  4. 编辑standalone.xml文件vi /wildfly/standalone/configuration/standalone.xml
  5. 搜索键入词 “数据源” /datasource在vi编辑器上,然后按回车
  6. 找到您的数据源“启用”的属性,并将其值从false更新为true(要这样做,请按i去vi的插入模式)
  7. esc然后:x

我使用OpenShift社区版保存文件,所以重启容器始终是一个麻烦:它需要很长的时间来寻找可用资源(如内存和CPU)并重新启动服务器,但是,除非重新启动服务器,否则不会启用数据源。在这方面,为此,您不需要重新启动容器,只需使用jboss-cli.sh命令行工具重新加载WildFly即可。 (我没有试图杀死这个进程并重新启动它,所以如果你尝试过,请评论它是否有效)。 应使用oc rsh <<podname>>或在Web控制台上使用终端在容器的终端上执行以下步骤。

  1. 输入的jboss-CLI使用命令/wildfly/bin/jboss-cli.sh
  2. 类型connect登录到控制台WildFly,你会被提示输入用户名和密码。如果您没有凭据,请退出此控制台并通过执行脚本创建管理用户/wildfly/bin/add-user.sh
  3. 通过输入data-source read-resource --name=<<YOUR_DATASOURCE_NAME>> --include-runtime=true --recursive=true并跟进“enabled”属性来检查数据源属性。
  4. 如果您的数据源被禁用,则应通过输入以下命令来启用它:data-source enable --name=<<YOUR_DATASOURCE_NAME>>
  5. 通过输入reload命令重新加载WildFly。一旦WildFly重新启动,您将需要访问jboss-cli.sh并再次登录到控制台。
  6. 使用命令data-source test-connection-in-pool --name=<<YOUR_DATASOURCE_NAME>>测试您的数据源连接。如果命令输出为true,那么您的数据源已启动并正在运行。

Openshift v3是基于码头集装箱,因此,如果你重新启动容器,恐怕这个配置可能会丢失。最合适的解决方案是将此操作包含在Docker的脚本中,但我不知道它是如何与Openshift平台一起工作的。

希望它有帮助!