HI, I create a (temporary) queue and an object to store message data to my database. This usually works well. However, whent I subject it to heavy(?) load, I get errors like this:
| 2005-12-21 09:31:42,477 INFO [STDOUT] [ JMSLogger:: sendMessage: Exception while sending the LogMessage Could not store message: 456 msg=455 hard NOT_STORED NON_PERSISTENT queue=QUEUE.AsynchronousLogQueue priority=9 lateClone=false hashCode=22529898; - nested throwable: (java.sql.SQLException: Unable to convert between org.jboss.mq.SpyObjectMessage and JAVA_OBJECT.)] | 2005-12-21 09:31:42,477 INFO [STDOUT] org.jboss.mq.SpyJMSException: Could not store message: 456 msg=455 hard NOT_STORED NON_PERSISTENT queue=QUEUE.AsynchronousLogQueue priority=9 lateClone=false hashCode=22529898; - nested throwable: (java.sql.SQLException: Unable to convert between org.jboss.mq.SpyObjectMessage and JAVA_OBJECT.) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceManager.java:1225) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.MessageCache.saveToStorage(MessageCache.java:385) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.MessageReference.makeSoft(MessageReference.java:311) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:332) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.MessageCache.add(MessageCache.java:112) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:130) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:402) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:378) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:136) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:153) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:270) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:136) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:86) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377) | 2005-12-21 09:31:42,477 INFO [STDOUT] at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748) | 2005-12-21 09:31:42,477 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534) | 2005-12-21 09:31:42,477 INFO [STDOUT] Caused by: java.sql.SQLException: Unable to convert between org.jboss.mq.SpyObjectMessage and JAVA_OBJECT. | 2005-12-21 09:31:42,477 INFO [STDOUT] at net.sourceforge.jtds.jdbc.Support.convert(Support.java:449) | 2005-12-21 09:31:42,477 INFO [STDOUT] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:275) | 2005-12-21 09:31:42,477 INFO [STDOUT] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:529) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setObject(WrappedPreparedStatement.java:652) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.pm.jdbc2.PersistenceManager.setBlob(PersistenceManager.java:837) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java:775) | 2005-12-21 09:31:42,477 INFO [STDOUT] at org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceManager.java:1211) | 2005-12-21 09:31:42,477 INFO [STDOUT] ... 17 more | 2005-12-21 09:31:42,477 INFO [STDOUT] [ LogService::sendMessage: The message successfully sent ] | The only way to fix this seems to be to restart JBoss. Does anyone know what is happening? This is the code I use to test my queue: | int repeat = Integer.parseInt(request.getParameter("repeat")); | String logType = request.getParameter("logtype"); | if (logType != null && logType.length() != 0) { | for (int i = 0; i < repeat; i++) { | Class c = Logger.class; | Class[] parameterTypes = new Class[] { String.class, String.class }; | Method logMethod; | Object[] arguments = new Object[] { "short" + i, "long" + i }; | logMethod = c.getMethod(logType, parameterTypes); | logMethod.invoke(logger, arguments); | } | } | Thank you, L View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3913773#3913773 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3913773 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user