openshift v3中的<openshift_mysql_enabled>环境变量是什么?

时间:2017-05-11 10:07:21

标签: openshift datasource wildfly-10

如何设置enabled =&#34; true&#34;如下所示,在Openshift v3 Wildfly容器的standalone.xml数据源上。

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

我将OPENSHIFT_MYSQL_ENABLED环境变量放到&#34; true&#34;但没有任何事情发生。

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

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

1 个答案:

答案 0 :(得分:1)

我正在处理同样的问题:变量替换过程忽略了环境变量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. 在vi编辑器上输入/datasource,然后按enter
  6. 搜索“datasource”一词
  7. 找到您的数据源的“已启用”属性,并将其值从false更新为true(为此,请按i转到vi插入模式)
  8. esc然后按:x
  9. 保存文件

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

    1. 使用命令/wildfly/bin/jboss-cli.sh
    2. 输入jboss-cli
    3. 键入connect以登录WildFly控制台,系统将提示您输入用户名和密码。如果您没有凭据,请退出此控制台并通过执行脚本/wildfly/bin/add-user.sh
    4. 创建管理用户
    5. 键入data-source read-resource --name=<<YOUR_DATASOURCE_NAME>> --include-runtime=true --recursive=true检查数据源属性,然后按“启用”属性进行操作。
    6. 如果您的数据源已禁用,则应通过输入命令data-source enable --name=<<YOUR_DATASOURCE_NAME>>
    7. 启用它
    8. 输入reload命令重新加载WildFly。一旦WildFly重新启动,您将需要访问jboss-cli.sh并再次登录控制台。
    9. 使用命令data-source test-connection-in-pool --name=<<YOUR_DATASOURCE_NAME>>测试您的数据源连接。如果命令输出为true,则表明您的数据源已启动并正在运行。
    10. Openshift v3基于docker容器,因此我担心如果你重新启动容器,这个配置可能会丢失。最合适的解决方案是将此操作包含在docker的脚本中,我不知道它与Openshift平台一起如何工作。

      希望它有所帮助!