-
Bug
-
Resolution: Duplicate
-
Critical
-
None
-
JBossAS-4.0.4.GA
-
None
A null blob is inserted into the jms_message table as a result of sending message (greater than 4k messages) to jms queue. The Oracle jdbc persistence manager is deployed in our environment as JMS queue persistence mechanism. As a result, when JBoss is restarted, the persistence manager could not restore queue since there is null blob in the jms_messages table (please see the following stack traces and sqlplus output):
I did a quick search and found that JBAS-2503 indicates the Oracle 4k limit problem should be resolved with JBossAS-4.0.4 GA. But I did run into the above problem with JBossAS-4.0.4 GA version.
Your help is highly appreciated.
****************************************************************************************
SQL> select count from jms_messages where messageblob is null;
COUNT
----------
3
*******************************************************************************************
2006-09-11 15:56:43,447 WARN [ServiceController] - Problem starting service jboss.mq.destination:name=edAuditQueue,service=Queue^M
org.jboss.mq.SpyJMSException: Unexpected error in recovery; - nested throwable:
(java.lang.NullPointerException)^M
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:78)^M
at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:63)^M
at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:525)^M
at org.jboss.mq.server.JMSQueue.<init>(JMSQueue.java:65)^M
at org.jboss.mq.server.jmx.Queue.startService(Queue.java:78)^M
......
......
Caused by: java.lang.NullPointerException^M
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)^M
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)^M
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)^M
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)^M
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)^M
at org.jboss.mq.pm.jdbc2.PersistenceManager.extractMessage(PersistenceManager.java:665)^M
at org.jboss.mq.pm.jdbc2.PersistenceManager.internalRestoreQueue(PersistenceManager.java:556)^M
at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:514)^M
*******************************************************************************************************************
- duplicates
-
JBAS-2503 JBossMQ JDBC2 Blob workaround for Oracle 4k limit
- Closed