Hello.
I'm also suffering these kind of inactivity exceptions in my production environment (an standalone java process with an embedded activemq 4.0.2 broker). Curiously, I always catch this problem during a log write (I suppose that it's just a matter of probability, as the write operation is perhaps one of the slower ones):

Error writing log '[WARNING][2007/01/31.09:56:25.936][ActiveMQ Scheduler]Async exception with no exception listener: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long.(Channel was inactive for too long.)'
java.io.InterruptedIOException
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(Unknown Source)
        at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Source)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(Unknown Source)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(Unknown Source)
        at sun.nio.cs.StreamEncoder.flush(Unknown Source)
        at java.io.OutputStreamWriter.flush(Unknown Source)
        at java.io.BufferedWriter.flush(Unknown Source)
        at es.tid.planb.core.FileLogWriter$RealFile.put(FileLogWriter.java:140)
        at es.tid.planb.core.FileLogWriter.put(FileLogWriter.java:241)
        at es.tid.planb.core.RotFileLogWriter.put(RotFileLogWriter.java:99)
        at es.tid.planb.core.Logger.write(Logger.java:240)
        at es.tid.planb.core.Logger.rWarning(Logger.java:291)
        at es.tid.planb.core.Logger.warning(Logger.java:193)
        at es.tid.planb.core.PBLogger.warn(PBLogger.java:260)
        at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1453)
        at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1459)
        at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:94)
        at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:110)
        at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:94)
        at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:94)
        at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:128)
        at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:149)
        at org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
        at org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
        at org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
        at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
        at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
        at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
        at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Unknown Source)


Is there any way to recover from this situation, or better, to avoid it?
Regards.


Suchitha Koneru (sukoneru) escribió:
 The inactiviy exceptions also arises , when lot of  messages are sent
at the rate of 4 messages per second. On the forums , some other user
also reported the occurrence of this exception , when messages were sent
at the rate of 30 per second. 
This exception is becoming a show stopper , Please let me know , if I
have to upgrade to another version of active MQ. 
Thanks,
Suchitha.

-----Original Message-----
From: Suchitha Koneru (sukoneru) 
Sent: Wednesday, February 14, 2007 11:27 AM
To: users@activemq.apache.org
Subject: active MQ (Inactivity exceptions)

Hello Active MQ Users , 
              I am getting the following  exceptions , when active MQ
channel is not used for a period of time.As a result of it , the socket
for connection is getting closed.
 
Feb 14, 2007 10:37:28 AM org.apache.activemq.ActiveMQConnection
onAsyncException
WARNING: Async exception with no exception listener:
org.apache.activemq.transport.InactivityIOException:
active for too long.
org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long.
        at
org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMoni
tor.java:101)
        at
org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMon
itor.java:35)
        at
org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.
java:51)
        at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter
.call(Executors.java:4
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(Fu
tureTask.java:198)
        at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecut
or$ScheduledFutureTask
heduledThreadPoolExecutor.java:189)
        at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecut
or$ScheduledFutureTask
hreadPoolExecutor.java:213)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
.runTask(ThreadPoolExe
 
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
.run(ThreadPoolExecuto
        at java.lang.Thread.run(Thread.java:595)

Feb 14, 2007 10:37:33 AM org.apache.activemq.ActiveMQConnection
onAsyncException
WARNING: Async exception with no exception listener:
java.net.SocketException: socket closed
java.net.SocketException: socket closed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuffere
dInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuffere
dInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:353)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.jav
a:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:142
)
        at java.lang.Thread.run(Thread.java:595)

The version of active MQ jars , which Iam using are :

*	activemq-core-4.0.1.jar 
*	backport-util-concurrent-2.1.jar
*	geronimo-j2ee-management_1.0_spec-1.0.jar
*	geronimo-jms_1.1_spec-1.0.jar
*	 incubator-activemq-4.0.2.jar

Please let me know, a work around for this . 
thanks,
suchitha.
 

  

Reply via email to