내 dev 설치에 잘 작동하지만 프로덕션 서버의 데이터베이스에 연결하지 못하는 웹 응용 프로그램 (java 및 MySQL)이 있습니다.웹 앱에서 Null 연결. 프로덕션 서버의 MySQL 데이터베이스에
의 context.xml 파일은 다음과 같습니다
<!-- MySQL -->
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="0"
driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/xxxxxxxx?characterEncoding=UTF-8"
connectionName="yyyyyyy" connectionPassword="zzzzzzz" userTable="users"
userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles"
roleNameCol="role_name" />
<!-- Database Pool -->
<Resource name="jdbc/DB" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="25" maxIdle="5" maxWait="30000" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/xxxxxxx?autoReconnect=true&zeroDateTimeBehavior=convertToNull"
username="yyyyyyy" password="zzzzzzz" />
는
연결을 가져옵니다 된 .java 코드는 다음과 같습니다
는public Connection getConnection(){
Connection conn = null;
try {
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
javax.sql.DataSource ds = (javax.sql.DataSource) envContext.lookup("jdbc/DB");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
데이터베이스에 데이터가 , 사용자와 패스워드가 존재하며 그들이 문맥 fi에있는 말 르,하지만 (자바 코드에서) 연결이 null로 돌아옵니다. 로그 파일을 보려고했지만이 애플리케이션에서 생성 된 내용은 본 적이 없습니다.
프로덕션 서버의 관리자가 아니므로 sysadmin에게 파일이나 데이터를 요청해야합니다. 그는 도움이되는 사람이지만 간단히 "로그를보고"(예를 들어) 말하면 더 구체적인 것으로 충분하지는 않습니다. 어떤 도움
감사합니다, 미리 암
확인을 클릭하면 더 나은 오류 메시지가 표시됩니다. "리소스 팩토리 클래스를로드 할 수 없습니다."라는 메시지가 표시됩니다. 우리의 시스템 관리자는 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory 대신 org.apache.commons.dbcp.BasicDataSourceFactory를 시도 할 것을 제안했습니다. 나는 그것을 시도하고, 아주 동일한 오류 메시지를 얻었다. 누구든지 여기에 어떤 아이디어가 있습니까? – user725694