Maybe some of the following options are relevant http://activemq.apache.org/javalangoutofmemory.html#java.lang.OutOfMemory-SpoolingMessagestoDisk
On 28 June 2010 08:37, PatrickVB <patrick.vanbrab...@gmail.com> wrote: > > Hi, > > I know this thread is quite old. I'm getting the same error. > The JVM which is sending message to the broker is getting an OOM. > > I'm using 5.3.1. For message sending I use stream message. > > Regards > > Patrick > > > > elihusmails wrote: > > > > I am finally getting the chance to continue testing this and am still > > getting OutOfMemory errors on the JVM that is sending messages to the > > ActiveMQ server. I have set the policy to > > <noSubscriptionRecoveryPolicy/> on the ActiveMQ server using the > > latest code in the trunk. > > > > Anyone have any more ideas on how to prevent these OutOfMemory errors. > > > > Thanks > > > > On Thu, Oct 9, 2008 at 7:55 PM, Mark Webb <elihusma...@gmail.com> wrote: > >> I have run across a memory leak that I have been able to reproduce. I > >> am profiling the sample application in NetBeans and I believe that I > >> have traced the problem to > >> > org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightUnmarshalByteSequence(DataInput, > >> BooleanStream) > >> > >> The sample program is a very simple application that sends an object > >> that I wrote to ActiveMQ every 200ms. In NetBeans I am using the > >> "Live Allocated Objects" view and approximately 80% of all objects are > >> byte[]. If I view the Allocation Call Tree, the first few methods in > >> the tree are: > >> > >> BaseDataStreamMarshaller.tightUnmarshalByteSequence(DataInput, > >> BooleanStream) > >> org.apache.activemq.util.ByteArrayOutputStream.checkCapacity(int) > >> org.apache.activemq.util.ByteArrayOutputStream.<init> > >> java.lang.StringCoding$StringEncoder.encode(char[],int,int) > >> > >> The object that I am sending is a simple bean class and only contains > >> an int, String and byte[]. > >> > >> I am using the base configuration for ActiveMQ. All my sample > >> application does is call sendObject(Serializable) every 200ms. Here > >> is the simple JMS library that I wrote: > >> > >> ------------- START -------------------------- > >> public class JmsLib { > >> > >> private TopicConnection connection; > >> private Session session; > >> private Topic destination; > >> private MessageProducer producer; > >> private MessageConsumer consumer; > >> > >> public JmsLib( ActiveMQConnectionFactory connFactory, String dest > >> ) throws JMSException { > >> > >> connection = connFactory.createTopicConnection(); > >> session = connection.createSession(false, > >> Session.AUTO_ACKNOWLEDGE); > >> destination = session.createTopic( dest ); > >> producer = session.createProducer( destination ); > >> consumer = session.createConsumer( destination ); > >> connection.start(); > >> } > >> > >> public void addMessageListener( MessageListener listener ) throws > >> JMSException{ > >> consumer.setMessageListener( listener ); > >> } > >> > >> public void sendObject( Serializable object ) throws JMSException{ > >> ObjectMessage message = session.createObjectMessage( object ); > >> producer.send(message); > >> } > >> } > >> --------------- END -------------------------- > >> > >> Thanks for any help you may have... > >> > > > > > > -- > View this message in context: > http://old.nabble.com/memory-leak-problem-with-ActiveMQ-5.1-tp19910141p29008506.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com