Openshift V3에서 실행중인 WildFly 10 pod 및 mysql 5.7 포드가 있습니다. 내 MySQL 데이터 소스를 구성하기 위해 Openshift V2에서 사용 되었기 때문에 standalone.xml에서 환경 변수를 사용하고 싶습니다. openshift에서 mysql 서비스를 사용할 때 standalone.xml의 환경 변수를 대체하십시오.
나는이 가이드를 따라 :https://github.com/openshift-s2i/s2i-wildfly은 내가 .s2i 폴더를 추가하고 거기라는 파일을 만들어 : 환경을 제공합니다.
MYSQL_DATABASE=<DATABASE_NAME>
<DATABASE_NAME>
실제 데이터베이스 이름으로 대체 물론이다
나는이 :
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
<datasources>
<datasource jta="false" jndi-name="java:/<DATABASE_NAME>" pool-name="pool_name" enabled="true" use-ccm="false">
<connection-url>jdbc:mysql://MYSQL_SERVICE_HOST:MYSQL_SERVICE_PORT/<DATABASE_NAME>?useSSL=false</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql</driver>
<security>
<user-name>MYSQL_USER</user-name>
<password>MYSQL_PASSWORD </password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql.jdbc">
<driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>
실제 값으로 환경 변수를 대체 MySQL의 연결 작업 및 성공 제이보스 부팅.
내가 뭘 잘못하고 있니?
${env.DATABASE_NAME}
:
은 또한 당신이 환경 변수를 사용하는이 방법을 사용한다 (제이보스에 대한) Openshift에서 ... 달러 기호하지만 여전히 행운과 standalone.xml에
$ {env.XXX}의 솔루션이 작동합니다. 그러나 이미 만들어진 mysql 환경 변수를 수동으로 추가해야하고, MYSQL_SERVICE_HOST에 대한 배치 구성 변수를 수동으로 추가해야했습니다. 답을 명확하게 해주십시오. 정답으로 받아 들일 것입니다 :-) –
DeploymentConfig 설정 및 환경 변수에 대한 정보가 더 추가되었습니다. – eljeko