2012-01-11 2 views
0

내 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&amp;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에게 파일이나 데이터를 요청해야합니다. 그는 도움이되는 사람이지만 간단히 "로그를보고"(예를 들어) 말하면 더 구체적인 것으로 충분하지는 않습니다. 어떤 도움

감사합니다, 미리 암

답변

0

그것은 오류 출력이 있어야처럼 보인다.

conn 변수가 처음에 null로 설정되어 catch 블록이 오류를 포착했습니다. 당신이 로그 파일에 출력 대신 콘솔로 출력하기 때문에 로그 파일을 보지 못했습니다.

e.printStackTrace();

log4j를 설정하고 log.error (e)로 로그를 사용하십시오. 또는 콘솔에서 오류를 찾고 여기에 게시하십시오.

+0

확인을 클릭하면 더 나은 오류 메시지가 표시됩니다. "리소스 팩토리 클래스를로드 할 수 없습니다."라는 메시지가 표시됩니다. 우리의 시스템 관리자는 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory 대신 org.apache.commons.dbcp.BasicDataSourceFactory를 시도 할 것을 제안했습니다. 나는 그것을 시도하고, 아주 동일한 오류 메시지를 얻었다. 누구든지 여기에 어떤 아이디어가 있습니까? – user725694

관련 문제