Hi all,
I have a JMS client that uses Spring Integration and an <int-jms:outbound-gateway> to talk to an ActiveMQ server. My client code is able to send a request to the gateway proxy, and get a response back.
But then something odd happens. The client does not end, it just seems to hang. In Eclipse I am able to pause the process and inspect the call stack, which looks like this:
I'm guessing the gateway never stops listening for responses, even when there are no pending requests.Code:Thread [ActiveMQ Transport: tcp://localhost/127.0.0.1:61616] (Suspended) SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method] SocketInputStream.read(byte[], int, int) line: 129 TcpTransport$2(TcpBufferedInputStream).fill() line: 50 TcpTransport$2.fill() line: 602 TcpTransport$2(TcpBufferedInputStream).read() line: 58 TcpTransport$2.read() line: 587 DataInputStream.readInt() line: 370 OpenWireFormat.unmarshal(DataInput) line: 275 TcpTransport.readCommand() line: 229 TcpTransport.doRun() line: 221 TcpTransport.run() line: 204 Thread.run() line: 662
Is this normal behaviour? Should I forcibly try to close the connection?
Code:<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="targetConnectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> </property> <property name="sessionCacheSize" value="10" /> <property name="clientId" value="activemqtestclient"/> </bean>


Reply With Quote
