Websphere 报警线程每60秒发出一次警告

Websphere 报警线程每60秒发出一次警告,websphere,Websphere,出于开发目的,我正在运行一台本地WAS7.0服务器。我的机器是Win7,我使用的是Java1.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: 201

出于开发目的,我正在运行一台本地WAS7.0服务器。我的机器是Win7,我使用的是Java1.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
以及WebSphereApplicationServer7.0Eclipse插件

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。。。有什么建议吗

另外,我在服务器定义中设置了以下“通用JVM参数”:

-Xquickstart -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000 -Dlog4j.debug-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:/temp

设置'-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000'应该将警告阈值增加到140000毫秒,而不是默认的40000毫秒(从中发现)

在WAS8和WAS85上有一个关于错误警告的问题:

您可以尝试使用以下系统属性将其静音:

-Dcom.ibm.websphere.alarmthreadmonitor.hung\u alarm\u mute=1

您还应该启用诊断跟踪以确定系统中发生的情况。使用以下跟踪字符串:
=info:com.ibm.ws.management.connector.ipc.=all

结果表明,我的JVM参数中有一个关于
com.ibm.websphere.alarmthreadmonitor.threshold.milis
属性的输入错误


-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000
添加到我的JVM参数将成功抑制警告。

我相信这是正确的。如果您需要修复,我建议您使用IBM打开PMR。

这是WAS 8还是8.5设置?将其添加到我的应用服务器JVM参数中并不会抑制警告。我仍然很好奇IPC连接器试图做什么,这需要(几乎完全)120秒。如果我有时间,我将返回并启用com.ibm.ws.management.connector.ipc的跟踪,正如@Robban建议的那样尝试解决它。在ws 8.5上为我工作的属性也可以通过websphere管理控制台设置:服务器>服务器类型>websphere应用程序服务器>您的服务器\名称>管理>自定义属性>新建听起来不错类似的,但是这出现在我的应用服务器SystemOut.log中,而不是nodeagent SystemOut中。尽管如此,由于这是一个本地开发设置,我的nodeagent也会是我的应用服务器吗?我怀疑这个错误可能会发生在任何MBean通知客户端的进程上,但我在WebSphere Application Server MBean子系统方面没有特别的专业知识。