2014-04-09 3 views
0

내가 다음 명령을 Openshift 서버에 내 확장 응용 프로그램을 만들었 MySQL 데이터베이스를 연결할 수 없습니다 축소 봄 & 최대 절전 모드. <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/MysqlDS"/> </bean>Tomcat은 응용 프로그램이

의 JNDI "MysqlDS가"연결 URL로 .openshift \ 설정 \의 context.xml에 정의되어 있습니다 : 이 url="jdbc:mysql://5344d4de4382ec43c9000090-myapp.rhcloud.com:37941/mydb"

문제는 내 규모의 앱을 설정할 수 없습니다 나는 다음과 같이 데이터 소스 구성 오류가있는 MySQL에 연결 : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

데이터베이스에 액세스하려면 사용자 이름 & 암호가 맞는지 확인하십시오. Openshift 서버의 MySQL이 포트를 열지 않는 것 같습니다. freemysqlhosting.net (열린 호스트 & 포트 사용)에서 외부 데이터베이스를 사용하려고하면 응용 프로그램이 잘 실행됩니다. 하지만 Openshift에서 MySQL 데이터베이스를 사용하고 싶습니다. 이 경험이있는 사람은 나에게 몇 가지 제안을 해주세요. Thanks

답변

0

mysql 카트리지를 추가 한 후에 응용 프로그램을 다시 시작했는지 확인하십시오. 다시 시작하기 전까지는 환경 변수가 올바르게 표시되지 않는 경우가 있습니다. 또한 장비에 ssh를 시도하고 "mysql"명령을 사용하여 mysql 데이터베이스에 직접 연결할 수 있는지 확인하십시오.

+0

환경 변수에서 가져온 연결 정보가 여전히 동일하게 내 응용 프로그램을 다시 시작했습니다. 그리고 내 장비에 ssh 할 수있어 & mysql과 쿼리 데이터를 직접 연결할 수 있습니다. 나는 왜 문제가 발생하는지 정말로 모른다. 외부 데이터베이스와 비교할 때 freemysqlhosting.net의 db는 포트 3306을 사용하지만 opensshift는 MYSQL_DB_PROXY_PORT라는 37941 포트를 사용합니다. 내 응용 프로그램이 프록시에 얽매여있는 것처럼 보입니다. 다른 생각? – Guest