Hello all, 

in our framework we use AMQ 5.14.1 and CMS version 3.9.4. From time to time we 
observe connection drops on client's side like the one below: 

20170418 10:00:41.902 CRITICAL: void 
CMSConnectionManager::sltConnectionError(CMSExceptionListener::errorType, 
QString) "DataInputStream::readLong - Reached EOF" 
"tcp://127.0.0.1:61616?connection.useAsyncSend=true&soKeepAlive=true&wireFormat.MaxInactivityDuration=240000"
 

in the same time on Broker side this is reported in log file: 

2017-04-18 10:00:29,358 | WARN | Transport Connection to: tcp://127.0.0.1:48612 
failed: java.io.EOFException | 
org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ NIO Worker 
8 

questions: 

1. is there any way to log more detailed information when EOF occurs ? I mean 
we don;t want to flood log file with general DEBUG messages but rather 
TransportConnection only to figure out what;s going on when EOF appears ? 
2. perhaps we do have something wrong with broker/client settings ? 

broker (part): 
<broker xmlns="http://activemq.apache.org/schema/core"; brokerName="localhost" 
dataDirectory="${activemq.data}" useJmx="true" advisorySupport="true" 
persistent="true" schedulePeriodForDestinationPurge="10000" 
networkConnectorStartAsync="true" allowTempAutoCreationOnSend="true" 
deleteAllMessagesOnStartup="false" > 

<destinationPolicy> 
<policyMap> 
<policyEntries> 
<policyEntry topic=">" producerFlowControl="false" > 
<pendingSubscriberPolicy> 
<vmCursor/> 
</pendingSubscriberPolicy> 
</policyEntry> 
<policyEntry queue=">" producerFlowControl="false" > 
<pendingQueuePolicy> 
<vmQueueCursor/> 
</pendingQueuePolicy> 
</policyEntry> 

<policyEntry tempTopic="true" producerFlowControl="false" > 
<pendingSubscriberPolicy> 
<vmCursor/> 
</pendingSubscriberPolicy> 
</policyEntry> 
<policyEntry tempQueue="true" producerFlowControl="false" 
gcInactiveDestinations="true" inactiveTimoutBeforeGC="60000"> 
<pendingQueuePolicy> 
<vmQueueCursor/> 
</pendingQueuePolicy> 
</policyEntry> 

</policyEntries> 
</policyMap> 
</destinationPolicy> 

<persistenceAdapter> 
<levelDB directory="${activemq.data}/leveldb" logSize="107374182"/> 
</persistenceAdapter> 


<systemUsage> 
<systemUsage> 
<memoryUsage> 
<memoryUsage percentOfJvmHeap="80" /> 
</memoryUsage> 
<storeUsage> 
<storeUsage limit="20 gb"/> 
</storeUsage> 
<tempUsage> 
<tempUsage limit="10 gb"/> 
</tempUsage> 
</systemUsage> 
</systemUsage> 

<transportConnectors> 
<transportConnector name="openwire" 
uri="nio://0.0.0.0:61616?transport.maximumConnections=1000&amp;wireFormat.maxFrameSize=314572800&amp;transport.keepAlive=true&amp;wireFormat.maxInactivityDuration=240000"/>
 
</transportConnectors> 

client: 
[activemq] 
URL="tcp://127.0.0.1:61616?connection.useAsyncSend=true&soKeepAlive=true&wireFormat.MaxInactivityDuration=240000"
 

Thx 
Marcin 

Reply via email to