On Mon, 2011-01-24 at 15:36 -0500, Bojan Rajkovic wrote:
> Hi all, 
> 
> Apologies for potential double-posts—Nabble doesn't seem to be working right, 
> so I decided to try the ML directly.
> 
> I'm using ActiveMQ 5.4.2, with queues and non-persistent messaging. The 
> operating system is SLES 10 (Linux 2.6.18), JVM 1.6, running a 64-bit server 
> VM. I'm not using any application server on the producer end, just creating a 
> connection factory manually.
> 
> A Java producer is being used to send messages to STOMP-based consumers 
> (primarily Flex/Flash, but maybe also JavaScript in the future). The STOMP 
> clients also produce some messages, and those arrive fine, and the Java 
> consumer is able to pick them up and react to them (including sending a 
> message back—this happens on a different queue than the problem queue 
> though). However, when the Java producer begins to send messages, no messages 
> arrive in the problem queue. The pending count never increases, and the STOMP 
> consumers never get any messages. Producer flow control is turned off, and as 
> mentioned earlier, messages are not persistent. They're also set to expire 
> after 2.5 seconds.
> 
> My code looks like this: 
> Message m;
> 
> try {
>     m = sess.createTextMessage(inputMessage);
> } catch (JMSException e) {
>     l.error("Error creating ActiveMQ message. Error message: ", e);
>     return;
> }
> 
> try {
>     producer.send(m);
>     l.info ("Message sent to broker.");
> } catch (JMSException e) {
>     l.error("Error sending ActiveMQ message. Error message: ", e);
>     return;
> }
> l is a log4j Logger, and sess is a session obtained from an 
> ActiveMQConnectionFactory. The factory is set up as such: 
> ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(brokerUrl), 
> and async dispatch/sending is disabled (though having it enabled didn't help 
> either). 
> 
> A different queue (with a different producer) works just fine—the JMS 
> producer is able to send a message to the queue, and it's received on the 
> STOMP end. Is there any reason why my JMS producer wouldn't work on one 
> queue, and would work for another, when STOMP works fine for both producing 
> and consuming? I was getting some dead letter queue errors earlier, but 
> resolved them by telling the dead letter queue to not handle messages that 
> expire. If my messages are going to the dead letter queue, how can I 
> establish why, so that I can fix the issue?
> 
> Cheers,
> Bojan Rajkovic

Can you post all of the JMS producer code, showing how you create the
Connection / Session / Producer, there's not quite enough to go on here.

Regards


-- 
Tim Bish
------------
FuseSource
Email: tim.b...@fusesource.com
Web: http://fusesource.com
Twitter: tabish121
Blog: http://timbish.blogspot.com/


Reply via email to