工作几个小时后,Apache James 2.3.2关闭了

时间:2012-01-31 12:26:33

标签: apache resources smtp james

我的Apache James 2.3.2安装出现了一个奇怪的错误。

我使用James源代码将电子邮件服务器的行为更改为通过电子邮件代理。 一切都运作良好几个小时。在那之后,詹姆斯因为没有明显的原因而关闭了。

首先我在phoenix.log中得到一些错误:

INFO    2012-01-30 18:49:55.215 [Phoenix.] (): Unknown resource. Bundle: 'org.apache.avalon.phoenix.components.monitor.Resources' Key: 'scanner.skipping-file.notice' Args: '/phoenix/apps/smtp-proxy' Reason: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key scanner.skipping-file.notice

INFO    2012-01-30 18:49:55.232 [Phoenix.] (): Unknown resource. Bundle: 'org.apache.avalon.phoenix.components.monitor.Resources' Key: 'scanner.undeploy.notice' Args: 'smtp-proxy' Reason: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key scanner.undeploy.notice

INFO    2012-01-30 18:49:55.233 [Phoenix.] (): 20 Blocks to process for phase "shutdown". Order of processing = [spoolmanager, matcherpackages, mailetpackages, remotemanager, pop3server, smtpserver, fetchmail, James, dnsserver, nntpserver, nntp-repository, spoolrepository, localusersrepository, users-store, mailstore, connections, sockets, scheduler, database-connections, thread-manager].

**INFO    2012-01-30 18:49:55.562 [Phoenix ] (): Shutting down because there are not any applications running.**

ERROR   2012-01-30 18:50:00.350 [Phoenix.] (): Component named "thread-manager" failed to pass through the Destruction stage. (Reason: java.lang.IllegalThreadStateException).

ERROR   2012-01-30 18:50:00.350 [Phoenix.] (): Component named "thread-manager" failed to pass through the Destruction stage. (Reason: java.lang.IllegalThreadStateException).

ERROR   2012-01-30 18:50:00.350 [Phoenix.] (): There was an error running phase "shutdown" for Block named "thread-manager". (Reason: Component named "thread-manager" failed to pass through the Destruction stage. (Reason: java.lang.IllegalThreadStateException).).

很快就出现错误,smtp-server.log显示2例外:

30/01/12 18:42:57 ERROR smtpserver: Exception opening socket: Unable to access thread pool due to java.lang.InterruptedException
java.lang.IllegalStateException: Unable to access thread pool due to java.lang.InterruptedException
    at org.apache.avalon.excalibur.thread.impl.BasicThreadPool.getWorker(BasicThreadPool.java:164)
    at org.apache.excalibur.thread.impl.AbstractThreadPool.execute(AbstractThreadPool.java:131)
    at org.apache.excalibur.thread.impl.AbstractThreadPool.execute(AbstractThreadPool.java:120)
    at org.apache.avalon.excalibur.thread.impl.DefaultThreadPool.execute(DefaultThreadPool.java:115)
    at org.apache.james.util.watchdog.InaccurateTimeoutWatchdog.start(InaccurateTimeoutWatchdog.java:106)
    at proxy.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:374)
    at org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:432)
    at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
    at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)
30/01/12 18:42:57 ERROR smtpserver: Exception opening socket: Unable to access thread pool due to java.lang.InterruptedException
java.lang.IllegalStateException: Unable to access thread pool due to java.lang.InterruptedException
    at org.apache.avalon.excalibur.thread.impl.BasicThreadPool.getWorker(BasicThreadPool.java:164)
    at org.apache.excalibur.thread.impl.AbstractThreadPool.execute(AbstractThreadPool.java:131)
    at org.apache.excalibur.thread.impl.AbstractThreadPool.execute(AbstractThreadPool.java:120)
    at org.apache.avalon.excalibur.thread.impl.DefaultThreadPool.execute(DefaultThreadPool.java:115)
    at org.apache.james.util.watchdog.InaccurateTimeoutWatchdog.start(InaccurateTimeoutWatchdog.java:106)
    at proxy.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:374)
    at org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:432)
    at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
    at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)

我猜smtp-server.log中的异常是某种后续异常,因为关闭了凤凰容器。

有没有人看到这种行为,因为我真的无法解释为什么几个小时一切正常,突然凤凰关闭......

提前致谢!

1 个答案:

答案 0 :(得分:0)

对于遭受同样问题的人: 问题是在Phoenix容器中激活了hotdeployment。

每次监控服务触及已重新部署的应用程序的sar-archive时。 - 不幸的是,服务器并不喜欢它!

停用热部署后,一切正常!