openshift v3 中的 <OPENSHIFT_MYSQL_ENABLED> 环境变量是什么?
What is <OPENSHIFT_MYSQL_ENABLED> environment variable in openshift v3?
如何在 Openshift v3 Wildfly 容器的 standalone.xml
数据源上设置 enabled = "true",如下所示。
<datasource jndi-name="java:jboss/datasources/MySQLDS" enabled="true" use-java-context="true" pool-name="MySQLDS" use-ccm="true">
我将 OPENSHIFT_MYSQL_ENABLED
环境变量设置为 "true" 但没有任何反应。
答案参考网址如下URL:
https://developer.jboss.org/wiki/DataserviceBuilderOnOpenShiftV3Online
我遇到了同样的问题:变量替换过程忽略了环境变量 OPENSHIFT_MYSQL_ENABLED
,所以我不得不徒手激活数据源,这就是我所做的:
(我假设您的系统上安装了 OC 工具)
- 登录 OC:
oc login
- 列出所有 pods 并找到 WildFly 实例:
oc get pods
- 进入容器的SSH控制台:
oc rsh <<pod-name>>
- 编辑
standalone.xml
文件 vi /wildfly/standalone/configuration/standalone.xml
- 在 vi 编辑器中输入
/datasource
搜索单词 "datasource",然后按回车键
- 找到数据源的属性 "enabled" 并将其值从
false
更新为 true
(为此,按 i
进入 vi 插入模式)
- 按
esc
然后按:x
保存文件
我使用的是 OpenShift 社区版,所以重启容器总是很麻烦:找到可用资源(如内存和 CPU)并再次启动服务器需要很长时间,但是,除非重新启动服务器,否则不会启用数据源。在这方面,您不需要重启容器,只需使用 jboss-cli.sh
命令行工具重新加载 WildFly。 (我没有尝试终止进程并重新启动它,所以如果您尝试过,请评论它是否有效)。
应使用 oc rsh <<podname>>
或使用 Web 控制台上的终端在容器的终端上执行以下步骤。
- 输入jboss-cli 使用命令
/wildfly/bin/jboss-cli.sh
- 键入
connect
登录 WildFly 控制台,系统将提示您输入用户名和密码。如果您没有凭据,请退出此控制台并通过执行脚本 /wildfly/bin/add-user.sh
创建一个 管理用户
- 通过键入
data-source read-resource --name=<<YOUR_DATASOURCE_NAME>> --include-runtime=true --recursive=true
检查您的数据源属性,然后在 "enabled" 属性 上跟进。
- 如果您的数据源被禁用,您应该通过输入命令
data-source enable --name=<<YOUR_DATASOURCE_NAME>>
来启用它
- 通过输入
reload
命令重新加载 WildFly。一旦 WildFly 重新启动,您将需要访问 jboss-cli.sh 并再次登录控制台。
- 使用命令
data-source test-connection-in-pool --name=<<YOUR_DATASOURCE_NAME>>
测试您的数据源连接。如果命令输出是 true
您的数据源已启动并且 运行.
Openshift v3 基于docker 容器,因此恐怕如果您重启容器,此配置可能会丢失。最合适的解决方案是将此操作包含在 docker 的脚本中,我还不知道它如何与 Openshift 平台一起工作。
希望对您有所帮助!
如何在 Openshift v3 Wildfly 容器的 standalone.xml
数据源上设置 enabled = "true",如下所示。
<datasource jndi-name="java:jboss/datasources/MySQLDS" enabled="true" use-java-context="true" pool-name="MySQLDS" use-ccm="true">
我将 OPENSHIFT_MYSQL_ENABLED
环境变量设置为 "true" 但没有任何反应。
答案参考网址如下URL:
https://developer.jboss.org/wiki/DataserviceBuilderOnOpenShiftV3Online
我遇到了同样的问题:变量替换过程忽略了环境变量 OPENSHIFT_MYSQL_ENABLED
,所以我不得不徒手激活数据源,这就是我所做的:
(我假设您的系统上安装了 OC 工具)
- 登录 OC:
oc login
- 列出所有 pods 并找到 WildFly 实例:
oc get pods
- 进入容器的SSH控制台:
oc rsh <<pod-name>>
- 编辑
standalone.xml
文件vi /wildfly/standalone/configuration/standalone.xml
- 在 vi 编辑器中输入
/datasource
搜索单词 "datasource",然后按回车键 - 找到数据源的属性 "enabled" 并将其值从
false
更新为true
(为此,按i
进入 vi 插入模式) - 按
esc
然后按:x
保存文件
我使用的是 OpenShift 社区版,所以重启容器总是很麻烦:找到可用资源(如内存和 CPU)并再次启动服务器需要很长时间,但是,除非重新启动服务器,否则不会启用数据源。在这方面,您不需要重启容器,只需使用 jboss-cli.sh
命令行工具重新加载 WildFly。 (我没有尝试终止进程并重新启动它,所以如果您尝试过,请评论它是否有效)。
应使用 oc rsh <<podname>>
或使用 Web 控制台上的终端在容器的终端上执行以下步骤。
- 输入jboss-cli 使用命令
/wildfly/bin/jboss-cli.sh
- 键入
connect
登录 WildFly 控制台,系统将提示您输入用户名和密码。如果您没有凭据,请退出此控制台并通过执行脚本/wildfly/bin/add-user.sh
创建一个 管理用户
- 通过键入
data-source read-resource --name=<<YOUR_DATASOURCE_NAME>> --include-runtime=true --recursive=true
检查您的数据源属性,然后在 "enabled" 属性 上跟进。 - 如果您的数据源被禁用,您应该通过输入命令
data-source enable --name=<<YOUR_DATASOURCE_NAME>>
来启用它
- 通过输入
reload
命令重新加载 WildFly。一旦 WildFly 重新启动,您将需要访问 jboss-cli.sh 并再次登录控制台。 - 使用命令
data-source test-connection-in-pool --name=<<YOUR_DATASOURCE_NAME>>
测试您的数据源连接。如果命令输出是true
您的数据源已启动并且 运行.
Openshift v3 基于docker 容器,因此恐怕如果您重启容器,此配置可能会丢失。最合适的解决方案是将此操作包含在 docker 的脚本中,我还不知道它如何与 Openshift 平台一起工作。
希望对您有所帮助!