在 OpenShift v3 中配置 Wildfly 10 MSQL 数据源

Configure a Wildfly 10 MSQL datasource in OpenShift v3

我有一个应用程序目前正在我的本地开发机器上运行。它使用 Wildfly 10、MySQL 5.7 和 Hibernate。我的应用程序从 Wildfly 中查找 'AppDS' 数据源。

我在 OpenShift V3 上创建了一个 Wildfly 10 容器和一个 MySQL 容器。通常,我会登录 Wildfly 并配置一个数据源,但是当容器重新启动时,所有配置都会丢失。我认为这将是找到我的连接环境设置并使用预配置的数据库连接的问题,但我找不到应该设置变量的内容,没有它们默认连接将无法工作。

我下载并阅读了面向开发人员的 OpenShift,但他们通过创建直接数据库连接而不是通过数据源来回避问题。

导出环境变量失败,因为 'no matches for apps.openshift.io/, Kind=DeploymentConfig'。这本书过时了吗?他们不使用部署配置来存储环境变量吗?

如果有人能指出正确的方向,我将不胜感激。

我的机器上有一个 运行ning 本地项目,它使用 Wildfly 10、Mysql 5.7 和 Hibernate。我发现文档不完整。使用它几天后,我已经弄明白了如何使用这个堆栈部署一个简单的 J2EE 项目。

我正在按照我希望的步骤更新我的问题。我希望这可以在将来节省一些时间。

  1. 创建新的 openshift 用户
  2. 创建项目 dbtest
  3. 将MySQL添加到dbtest项目: 已在您的项目中创建以下服务:mysql:

    用户名:test 密码:测试 数据库名称:testdb 连接URL:mysql://mysql:3306/

  4. 将Wildfly添加到项目中:

oc 登录 https://api.starter-us-west-1.openshift.com oc项目数据库测试 oc 状态

  1. 将当前的 wildfly pod 缩放到 0。(你没有足够的 CPU 到 运行 3 pods,并且重新部署尝试启动一个新的并热交换它们)
  2. 从左侧菜单:Applications->Deployments->(dbtest)Wildfly10 pod->environment(tab)-> 添加: MYSQL_DATABASE=测试数据库 MYSQL_DB_ENABLED=真 MYSQL_USER:test MYSQL_PASSWORD: 测试
  3. 将 wildfly pod 推回到 1。
  4. 在 Wildfly 中使用终端 运行 ./add-user.sh
  5. oc port-forward wildfly10-6-rkr58 :9990(将 wildfly10-6-rkr58 替换为您的 pod 名称,通过单击 运行ning pod [带 1 的圆圈] 并注意左上角的 pod 名称])
  6. 从 127.0.0.1 登录 Wildfly:并测试 MySQLDS。它现在应该连接。

查看提到的环境变量 here 以获得更好的理解。