3

我一直在努力让 James Mail Server 在 64 位 Slackware 13.1 上与 PostgreSQL 一起工作。64 位 linux 和 64 位 java 下的驱动程序是否存在任何已知问题?

我的同一台服务器在 32 位 Slackware 上再次使用 PostgreSQL 9.0 运行良好。

有谁知道可能是什么问题?

编辑:有关此问题的更多详细信息...当我通过 ./bin/phoenix stop 停止 james 邮件服务器时,我在日志中得到了这个:

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 添加了文件和数据库存储库,但它没有在数据库中创建表。如果它创建表,它不会在里面插入任何东西。我确定我设置的用户/密码是正确的,用户可以写入数据库(手动测试)。我正在使用 9.0-801 JDBC 4 和 jdk1.6.0_23x64。

希望这有助于解决问题。

4

2 回答 2

2

PostgreSQL JDBC 驱动程序是用纯 Java 编写的,因此它甚至不知道 32 位和 64 位平台之间的区别。这不太可能是问题所在。该驱动程序在 64 位主机上使用非常广泛。

于 2011-02-13T06:09:48.063 回答
0

彼得回答了主题问题。

关于您的堆栈跟踪:根本原因是java.lang.IllegalThreadStateException异常,仅在以下情况下抛出:

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

这意味着您已经将其销毁或没有真正停止。

我看到在 excalibur 中设置了两次池。这意味着您总是会在停止后收到此类消息。

于 2015-08-12T17:03:10.123 回答