데이터베이스에 대한 어설 션을 수행해야하는 실행중인 로컬 JBoss 5.1 인스턴스에 대해 자동화 된 통합 테스트를 만들려고합니다. appserver는 TCP를 통해 액세스 할 수 있도록 서버 모드에서 HSQL 데이터 소스로 구성됩니다.유닛 테스트에서 연결할 때 HSQL이 즉시 닫혔습니다
<connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
<mbean code="org.jboss.jdbc.HypersonicDatabase"
name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="BindAddress">${jboss.bind.address}</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">default</attribute>
<attribute name="Trace">false</attribute>
<attribute name="No_system_exit">true</attribute>
</mbean>
그것은 배포 된 응용 프로그램이 잘 실행하고 나는 그런 "hsqldbclient 같은 외부 도구를 사용하여 데이터베이스에 연결할 수 오전에 작동합니다
이
구성 관련 (내가 생각하는) 부분입니다 "및 Eclipse"데이터 소스 탐색기 "가 있습니다.문제는 테스트 케이스에서 연결을 시도하면 연결이 즉시 닫히고 "깨진 파이프"오류가 발생한다는 것입니다.
DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:1701", "sa", "");
이 내가 클라이언트 측에서 얻을 오류입니다 :
이
내가 연결을 얻으려고하는 방법이다Caused by: org.hsqldb.HsqlException: connection exception: connection failure: java.net.SocketException: Broken pipe
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ClientConnection.execute(Unknown Source)
at org.hsqldb.ClientConnection.<init>(Unknown Source)
을 그리고 이것은 내가 서버 측에서 얻을 오류입니다 :
09:46:04,132 ERROR [STDERR] Exception in thread "HSQLDB Connection @fa3b82"
09:46:04,133 ERROR [STDERR] java.lang.NullPointerException
09:46:04,133 ERROR [STDERR] at org.hsqldb.ServerConnection.close(Unknown Source)
09:46:04,133 ERROR [STDERR] at org.hsqldb.ServerConnection.run(Unknown Source)
09:46:04,133 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)
나는 무슨 일이 일어나고 있는지 해석하는 데 어려움을 겪고 있습니다. 연결이 만들어지고 서버에 의해 즉시 닫히지 만 연결이 null이면 nullpointer가 throw됩니다. 이 컴퓨터는 모두 같은 컴퓨터에 있으며 다른 도구를 사용하여 연결할 수 있지만 위에서 설명한 것과 동일한 연결 URL을 사용하여 연결할 수 있습니다.
누구나 시도해 볼 아이디어가 있다면 매우 감사하게 생각합니다.
안녕하세요, 안타깝게도 데이터베이스가 이미 응용 프로그램 서버에 의해 잠겨 있기 때문에 URL url을 사용하여 연결할 수 없습니다. 그러나 문제가되는대로 사용 된 버전을 조사하는 방향으로 나를 가리켜 주셔서 감사합니다! –