I verified that the messages are persistent, but I'm still not having much
luck finding the problem. I didn't try building with the patch yet, but as
a short term work around I just turned off journaling in the configuration.
Even with journalling off, I still have the problem.
FYI, here's a sample message from the debug:
21:33:19,099 DEBUG [ActiveMQSession] Sending message: ActiveMQObjectMessage
{commandId = 0, responseRequired = false, messageId =
ID:gorbash-55551-1149730299753-3:1:8:1:1, originalDestination = null,
originalTransactionId = null, producerId =
ID:gorbash-55551-1149730299753-3:1:8:1, destination = queue://checkedinQ,
transactionId = null, expiration = 0, timestamp = 1149730399091, arrival =
0, correlationId = null, replyTo = null, persistent = true, type = null,
priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null,
compressed = false, userID = null, content =
[EMAIL PROTECTED], marshalledProperties = null,
dataStructure = null, redeliveryCounter = 0, size = 0, properties = null,
readOnlyProperties = true, readOnlyBody = true}
I don't know if makes a difference, but I'm using the AMQ RAR in Jboss to
start a VM broker. In the code I then do this:
theFactory = new ActiveMQConnectionFactory("vm://localhost");
to create the factory, then this to create and start my connections:
myConnection = (ActiveMQConnection)
theFactory.createQueueConnection();
myConnection.setClientID(name);
myConnection.start();
Everything seems to work fine as long as I don't have slow consumers. Once
the consumers slow down or stop, the producers grind to a halt.
Is it possible I have 2 vm://localhost brokers? i.e. I can see one created
when the RAR starts, but it almost looks like it's starting another one when
I call new ActiveMQConnectionFactory("vm://localhost"). Is that possible or
will it automatically use the broker created from the RAR? If it is
creating another one, how do I get it to use the broker I configured in the
RAR?
Just messing with the factory configuration I found that when I call
setObjectMessageSerializationDefered(true) on the factory, the producers run
without a problem (I was able to load up 500K messages). However, later,
when I restart the consumers to read the messages, they all come back as
null objects to the consumers. So I guess deferring it isn't good when you
have persistence on? As a side note, is there a place where all those
factory configuration options are documented? There isn't anything in the
Javadocs and I couldn't find the info elsewhere yet.
Any suggestions on what to try next?
--
View this message in context:
http://www.nabble.com/Slow-consumer-problem-t1733329.html#a4764635
Sent from the ActiveMQ - User forum at Nabble.com.