2011-02-12 4 views
3

필자는 제임스 메일 서버가 64 비트 슬랙웨어 13.1에서 PostgreSQL과 함께 작동하는 데 어려움을 겪고 있습니다. 64 비트 Linux 및 64 비트 Java에서 드라이버에 대해 알려진 문제점이 있습니까?PostgreSQL 9.0 JDBC 드라이버가 64 비트 Java와 잘 작동합니까?

32 비트 Slackware에서 PostgreSQL 9.0과 동일한 서버를 다시 실행합니다.

누구에게 무슨 문제가 있는지 알 수 있습니까?

편집 : ./bin/phoenix 정지를 통해 제임스 메일 서버를 중지하면이 문제를 해결 좀 더 자세한 내용은 ... 나는 로그이 얻을 :

James Mail Server 2.3.2 
Remote Manager Service started plain:4555 
POP3 Service started plain:110 
SMTP Service started plain:25 
NNTP Service started plain:119 
FetchMail Disabled 
JVM exiting abnormally. Shutting down Phoenix. 
org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleException: Component named "thread-manager" failed to pass through the Destruction stage. (Reason: java.lang.IllegalThreadStateException). 
at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:354) 
at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.shutdown(LifecycleHelper.java:288) 
at org.apache.avalon.phoenix.components.application.DefaultApplication.shutdown(DefaultApplication.java:566) 
at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:482) 
at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:409) 
at org.apache.avalon.phoenix.components.application.DefaultApplication.stop(DefaultApplication.java:233) 
at org.apache.avalon.framework.container.ContainerUtil.stop(ContainerUtil.java:292) 
at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:66) 
at org.apache.avalon.phoenix.components.kernel.DefaultKernel.shutdown(DefaultKernel.java:346) 
at org.apache.avalon.phoenix.components.kernel.DefaultKernel.removeApplication(DefaultKernel.java:455) 
at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.undeploy(DefaultDeployer.java:244) 
at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.dispose(DefaultDeployer.java:154) 
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306) 
at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:67) 
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.shutdownComponents(DefaultEmbeddor.java:598) 
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dispose(DefaultEmbeddor.java:342) 
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306) 
at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:67) 
at org.apache.avalon.phoenix.frontends.CLIMain.shutdown(CLIMain.java:326) 
at org.apache.avalon.phoenix.frontends.CLIMain.forceShutdown(CLIMain.java:295) 
at org.apache.avalon.phoenix.frontends.ShutdownHook.run(CLIMain.java:386) 
Caused by: java.lang.IllegalThreadStateException 
at java.lang.ThreadGroup.destroy(ThreadGroup.java:754) 
at org.apache.avalon.excalibur.thread.impl.DefaultThreadPool.dispose(DefaultThreadPool.java:76) 
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306) 
at org.apache.avalon.cornerstone.blocks.threads.AbstractThreadManager.dispose(AbstractThreadManager.java:69) 
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306) 
at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.shutdown(LifecycleHelper.java:274) 
... 19 more 
STOPPED Sun Feb 13 00:01:37 EET 2011 

나는 서버 모든 것이 시작 시작할 때 훌륭한 점은 james가 파일과 DB 저장소를 추가했지만 데이터베이스에 테이블을 생성하지 않는다는 것입니다. 테이블을 생성하면 내부에 아무 것도 삽입하지 않습니다. 내가 설정 한 사용자/패스가 맞고 사용자가 데이터베이스에 직접 쓸 수 있음을 확신합니다. 9.0-801 JDBC 4 및 jdk1.6.0_23x64를 사용하고 있습니다.

호프가 문제를 해결하는 데 도움이되기를 바랍니다.

+0

자세한 내용을 입력해야합니다. 무슨 이슈가있어? 너 뭐 해봤 니? – jzd

+0

왜 이것이 PostgreSQL 드라이버 문제일까요? – Daniel

+0

@jzd 세부 정보가 추가되었습니다. @ 대니얼 - 나도 몰라. 그것은 단지 이유없이 작동하지 않고 무엇인지 알아 내려고합니다. – tftd

답변

2

PostgreSQL JDBC 드라이버는 순수 Java로 작성되어 32 비트 플랫폼과 64 비트 플랫폼의 차이점을 알지 못합니다. 그게 문제는 아닌 것 같습니다. 드라이버는 64 비트 호스트에서 매우 널리 사용됩니다.

+0

나는 그것도 생각했지만 ... 분명히 내가 어디서 왔는지 알 수없는 문제가있다. / – tftd

0

피터가 주제 질문에 답변했습니다. 당신의 스택 트레이스 정보

:

if (destroyed || (nthreads > 0)) { 
    throw new IllegalThreadStateException(); 
} 

당신이 이미 그것을 파괴 여부를 정말 중단을 의미 근본 원인은 다음과 같은 경우에 발생합니다 java.lang.IllegalThreadStateException 예외입니다.

나는 수영장이 excalibur에서 두 번 처리됩니다 참조하십시오. 그것은 항상 멈추고 나면 그러한 메시지를 갖게된다는 것을 의미합니다.

관련 문제