I agree that the JMS API should provide a way to get the number of the
messages from a queue. But I don't think 4.0 is stable enough for our
application.
Still, the browse should not fail, right?
James Strachan wrote:
If you upgrade to 4.0-RC3 you'll have MBeans which automatically
maintain counts of available messages on queues without you having to
browse & load all the messages from disk to count them.
On 5/2/06, Adrian Tarau <[EMAIL PROTECTED]> wrote:
This happens only when I start the application and count the message in
the queue. Normal message consume works well
javax.jms.JMSException: Failed to broker message:
ID:NEARIZ-41052-1146237572384-3701:0 in container:
java.sql.SQLException: Invalid argument(s) in call: getBytes()
at
org.activemq.util.JMSExceptionHelper.newJMSException(JMSExceptionHelper.java:49)
at
org.activemq.store.jdbc.JDBCMessageStore.getMessage(JDBCMessageStore.java:108)
at
org.activemq.store.ProxyMessageStore.getMessage(ProxyMessageStore.java:45)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageContainer.recoverMessageToBeDelivered(DurableQueueBoundedMessageContainer.java:213)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageContainer.access$000(DurableQueueBoundedMessageContainer.java:57)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageContainer$1.recoverMessage(DurableQueueBoundedMessageContainer.java:201)
at
org.activemq.store.jdbc.JDBCMessageStore$1.onMessage(JDBCMessageStore.java:166)
at
org.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doRecover(DefaultJDBCAdapter.java:350)
at
org.activemq.store.jdbc.JDBCMessageStore.recover(JDBCMessageStore.java:164)
at
org.activemq.store.ProxyMessageStore.recover(ProxyMessageStore.java:48)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageContainer.start(DurableQueueBoundedMessageContainer.java:199)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageManager.createContainer(DurableQueueBoundedMessageManager.java:247)
at
org.activemq.service.boundedvm.DurableQueueBoundedMessageManager.addMessageConsumer(DurableQueueBoundedMessageManager.java:219)
at
org.activemq.broker.impl.DefaultBroker.addMessageConsumer(DefaultBroker.java:267)
at
org.activemq.broker.impl.BrokerContainerImpl.registerMessageConsumer(BrokerContainerImpl.java:355)
at
org.activemq.broker.impl.BrokerConnectorImpl.registerMessageConsumer(BrokerConnectorImpl.java:180)
at
org.activemq.broker.impl.BrokerClientImpl.consumeConsumerInfo(BrokerClientImpl.java:506)
at
org.activemq.broker.impl.BrokerClientImpl.consume(BrokerClientImpl.java:358)
at
org.activemq.transport.vm.VmTransportChannel.asyncSend(VmTransportChannel.java:143)
at
org.activemq.transport.TransportChannelSupport.doAsyncSend(TransportChannelSupport.java:433)
at
org.activemq.transport.TransportChannelSupport.asyncSendWithReceipt(TransportChannelSupport.java:160)
at
org.activemq.transport.TransportChannelSupport.send(TransportChannelSupport.java:145)
at
org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1388)
at
org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1373)
at
org.activemq.ActiveMQSession.addConsumer(ActiveMQSession.java:1199)
at
org.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:145)
at
org.activemq.ActiveMQQueueBrowser.createConsumer(ActiveMQQueueBrowser.java:93)
at
org.activemq.ActiveMQQueueBrowser.<init>(ActiveMQQueueBrowser.java:81)
at
org.activemq.ActiveMQSession.createBrowser(ActiveMQSession.java:810)
Caused by: java.sql.SQLException: Invalid argument(s) in call:
getBytes()
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.sql.BLOB.getBytes(BLOB.java:194)
at
org.activemq.store.jdbc.adapter.OracleJDBCAdapter.getBinaryData(OracleJDBCAdapter.java:64)
at
org.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doGetMessage(DefaultJDBCAdapter.java:245)
at
org.activemq.store.jdbc.JDBCMessageStore.getMessage(JDBCMessageStore.java:97)
--
James
-------
http://radio.weblogs.com/0112098/