내가 사용 JNDI를 통해 데이터 소스를로드 해요 : 나는 이클립스 (인디고 SR을 실행하면알 수없는 경우 NullPointerException() 라인 : 96
JDK 1.6.0_31 톰캣 6.0.30
2) 디버거에서 깨지기 시작합니다 :
Daemon System Thread [Finalizer] (Suspended (exception NullPointerException))
JdbcOdbcDriver.finalize() line: 96
Finalizer.invokeFinalizeMethod(Object) line: not available [native method]
Finalizer.runFinalizer() line: 83
Finalizer.access$100(Finalizer) line: 14
Finalizer$FinalizerThread.run() line: 160
저는이 문제를 일으키는 원인이 무엇인지에 관해 정말 망각하고 있습니다. 또한, 그것은 내 처형에 전혀 영향을 미치지 않는 것처럼 보입니다. 내 데이터 소스가 초기화되고 정상적으로 사용되며 예상 한 모든 결과를 얻고 있습니다. 내가 읽은 바에 따르면 이것은 오라클 드라이버 문제와 관련이있을 것입니다.
을 myApp \ META-INF \의 context.xml에
<Resource name="jdbc/conn" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
url="@[email protected]" username="user" password="@[email protected]"
initialSize="4" maxActive="8"
defaultAutoCommit="false"
accessToUnderlyingConnectionAllowed="true"
testOnReturn="true"
validationQuery="select 1 from dual"
poolPreparedStatements="false"
connectionProperties="SetBigStringTryClob=true"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
/>
을 myApp \ WEB-INF \ web.xml을
<resource-ref>
<description>My DataSource</description>
<res-ref-name>jdbc/conn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
사람들은 참고 자료로 JdbcOdbcDriver [소스 코드] (http://javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/jdbc/odbc/JdbcOdbcDriver.java.html)를보고 싶을 수도 있습니다. – adarshr
@adarshr 링크는 스팸/낚시 (또는 컴퓨터가 감염 되었습니까?)를 가리키고있는 것 같습니다. 나는 [another link] (http://j6a.ru/_jdbc_odbc_driver_8java_source.html)를 발견했다. – Matthieu
어떤 버전의 Oracle JDBC 드라이버를 사용합니까? –