PostgreSQL 9.0的JDBC驱动程序是否与64位Java兼容?

3

我一直在努力让James邮件服务器在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。希望这有助于解决问题。

你需要包含更多细节。你遇到了什么问题?你尝试过什么? - jzd
为什么这应该是一个PostgreSQL驱动程序的问题? - Daniel
@jzd 的细节已经添加 :) ; @Daniel - 我不知道。它只是出了问题,我正在努力找出原因。 - tftd
1
FYI,有一个全新的下一代JDBC驱动程序正在从头开始重写,以支持最新版本的Postgres和Java。你可以尝试一下,看看行为上是否有所不同。 - Basil Bourque
2个回答

2

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


我也这么想,但是...显然有一个问题,我看不出来它从哪里来的 :/ - tftd

0

Peter回答了关于主题的问题。

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

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

这意味着你已经摧毁它或者并没有真正停止。

我看到在 Excalibur 中池被释放了两次。这意味着你在停止之后总会有这样的消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接