我正在运行本地 WAS 7.0 服务器用于开发目的。我的机器是 Win 7,我使用的是 Java 1.6。WAS 的具体版本是:
IBM WebSphere Application Server, 7.0.0.25
Build Number: cf251235.04
Build Date: 8/30/12
我正在使用的 Eclipse 版本是
Eclipse Java EE IDE for Web Developers
Version: Juno Service Release 2
Build id: 20130225-0426
以及 WebSphere Application Server 7.0 Eclipse 插件
com.ibm.websphere.v7.core (7.0.101.v20121205_2240) "WebSphere Application Server v7.0 Core Runtime Jars" [Active]
我遇到的问题是每 2 分钟左右就会在我的 SystemOut.log 文件中打印以下警告:
[9/17/13 16:54:47:812 CDT] 00000025 AlarmThreadMo W UTLS0008W: The return of alarm thread "Non-deferrable Alarm : 2" (0000001f) to the alarm thread pool has been delayed for 40106 milliseconds. This may be preventing normal alarm function within the application server. The alarm listener stack trace is as follows:
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:196)
at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:334)
at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:218)
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:215)
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:182)
at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:111)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext.read(SSLReadServiceContext.java:265)
at com.ibm.ws.management.connector.ipc.ClientAccessor.clientReadMoreData(ClientAccessor.java:264)
at com.ibm.ws.management.connector.ipc.ClientAccessor.request(ClientAccessor.java:169)
at com.ibm.ws.management.connector.ipc.IPCConnectorClient.sendReceive(IPCConnectorClient.java:452)
at com.ibm.ws.management.connector.ipc.IPCConnectorClient.pullNotifications(IPCConnectorClient.java:2167)
at com.ibm.ws.management.event.PullRemoteReceiver.getNotifications(PullRemoteReceiver.java:222)
at com.ibm.ws.management.event.PullRemoteReceiver.alarm(PullRemoteReceiver.java:183)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:133)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646).
[9/17/13 16:56:07:712 CDT] 0000001f AlarmThreadMo W UTLS0009W: Alarm Thread "Non-deferrable Alarm : 2" (0000001f) previously reported to be delayed has now completed. It was active for approximately 120007 milliseconds.
这种情况始终如一地发生;因为我收到“延迟”警告,然后 2 分钟后我收到“已完成”警告。然后大约 60 秒过去了,我再次收到“延迟”警告,大约 2 分钟后再次收到“完成”警告……无限期。
除了可笑的烦人;一切似乎都运行良好......我能够发布/启动/停止服务器。我的应用程序运行正常。
我只是想让这个警告停止填写我的 SystemOut.log ......有什么建议吗?
PS 我在我的服务器定义中确实有以下设置作为我的“通用 JVM 参数”:
-Xquickstart -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000 -Dlog4j.debug-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:/temp
认为设置 '-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000' 应该将警告阈值增加到 140,000 毫秒而不是默认的 40,000 毫秒(从这里发现)