Yes, the error message is coming out in the ActiveMQ console window.
In the C++ module that sends a message into ActiveMQ we are using: void MQProducer::sendMessage(const std::string &gameMessage, const std::string& tag) { std::auto_ptr<TextMessage> message(session->createTextMessage(gameMessage)); message->setStringProperty("JMSXGroupID", tag); m_Logger.messageSent(gameMessage); producer->send(message.get()); } tabish121 wrote: > > You are going to need provide a little more information than this. What > are you doing in the C++ code. Can you provide a sample app that > demonstrates the problem? > > I assume that this is coming out in the ActiveMQ console window, not > from the c++ client as a BrokerError? > > Regards > Tim. > > On Wed, 2007-11-14 at 10:39 -0800, JohnOldman wrote: >> Hi >> >> Running SUSE 10.2 using CMS 2.1.1 with ActiveMQ 4.1 and stomp. >> >> Set up is one producer and two consumers (for failover). >> >> We have set JMSXGroupID in the producer, to make failover work, so only >> one >> consumer consumes. >> >> And on receiving messages the producer dumps the following errors: >> >> <-----snip-----> >> WARN QueueSubscription - Failed to set boolean header: >> javax.jms.MessageNotWriteableException: Message properties are read-only >> javax.jms.MessageNotWriteableException: Message properties are read-only >> at >> org.apache.activemq.command.ActiveMQMessage.checkReadOnlyProperties(ActiveMQMessage.java:568) >> at >> org.apache.activemq.command.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:382) >> at >> org.apache.activemq.command.ActiveMQMessage.setBooleanProperty(ActiveMQMessage.java:534) >> at >> org.apache.activemq.broker.region.QueueSubscription.assignGroupToMe(QueueSubscription.java:134) >> at >> org.apache.activemq.broker.region.QueueSubscription.canDispatch(QueueSubscription.java:101) >> at >> org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:383) >> at >> org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:172) >> at >> org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:129) >> at >> org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy.dispatch(RoundRobinDispatchPolicy.java:58) >> at >> org.apache.activemq.broker.region.Queue.dispatch(Queue.java:520) >> at >> org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:346) >> at org.apache.activemq.broker.region.Queue.send(Queue.java:326) >> at >> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:292) >> at >> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:382) >> at >> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193) >> atvoid MQProducer::sendMessage(const std::string &gameMessage, >> const std::string& tag) > { > std::auto_ptr<TextMessage> > message(session->createTextMessage(gameMessage)); > message->setStringProperty("JMSXGroupID", tag); > m_Logger.messageSent(gameMessage); > producer->send(message.get()); > } > >> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126) >> at >> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98) >> at >> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:136) >> at >> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:498) >> at >> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:604) >> at >> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294) >> at >> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185) >> at >> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65) >> at >> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122) >> at >> org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:81) >> at >> org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119) >> at >> org.apache.activemq.transport.stomp.ProtocolConverter.onStompSend(ProtocolConverter.java:204) >> at >> org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:139) >> at >> org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:71) >> at >> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) >> at >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137) >> at java.lang.Thread.run(Thread.java:619) >> <-----snip-----> >> >> >> I understand that properties are read only - is the CMS violating this? >> > > -- View this message in context: http://www.nabble.com/Possible-Bug%3A-CMS-%22MessageNotWriteableException%22-tf4807167s2354.html#a13754001 Sent from the ActiveMQ - User mailing list archive at Nabble.com.