On Fri, Oct 16, 2009 at 7:41 AM, mcarson <mcar...@amsa.com> wrote:
>
> Using the scanner seems to work for parsing down the huge file based upon a
> delimiter.  However it appears that either the JmsTemplate I'm using to send
> messages or ActiveMQ cannot keep pace.
>
> Somewhere between 250K - 500K sends, I get this stack trace:
>
> Exception in thread "main"
> org.springframework.jms.UncategorizedJmsException: Uncategorized exception
> occured during JMS processing; nested exception is javax.jms.JMSException:
> java.io.EOFException
>        at
> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:308)
>        at
> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
>        at 
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
>        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:548)
>        at asa.camel.TestScanner.parseRecord(TestScanner.java:62)
>        at asa.camel.TestScanner.readFile(TestScanner.java:34)
>        at asa.camel.TestScanner.main(TestScanner.java:82)
> Caused by: javax.jms.JMSException: java.io.EOFException
>        at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>        at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1244)
>        at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1339)
>        at
> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:298)
>        at
> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
>        at 
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:462)
>        ... 4 more
> Caused by: java.io.EOFException
>        at java.io.DataInputStream.readInt(DataInputStream.java:375)
>        at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:210)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>        at java.lang.Thread.run(Thread.java:619)
>
> Any ideas what could cause this?

I'm not sure what kind of configuration you're using for ActiveMQ, but
are you utilizing a connection pooler so that the the connection,
session and producer are not recreated for every call to send()? See
the following for more info:

http://activemq.apache.org/jmstemplate-gotchas.html

Bruce
-- 
perl -e 'print 
unpack("u30","D0G)u8...@4vyy9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

ActiveMQ in Action: http://bit.ly/2je6cQ
Blog: http://bruceblog.org/
Twitter: http://twitter.com/brucesnyder

Reply via email to