pikaiyuan wrote: > Hi,Marcel > > I had found something report error when I using an oracle database for > durable subscriptions(every message needs to be stored is about 5000k).the > errors are: > > [2003-8-23 11:19:41 WARN > JdbcManagerCommonTable-XB_-xmlBlaster_192_168_80_11_3412-msgUnitStore_i > nforMessaging_192_168_80_11_3412sblszsnsrxx-addEntry()] Could not insert entry > 'org.xmlBlaster.e > ngine.MsgUnitWrapper'-'sblszsnsrxx/2003-08-23 > 11:19:41.353000001-1060053581353000001': java.sql.SQLE > xception: inserted value too large for column: 18998 > [2003-8-23 11:19:42 ERROR > org.xmlBlaster.engine.msgstore.cache.PersistenceCachePlugin-msgUnitStor > e:xmlBlaster_192_168_80_11_3412/sblszsnsrxx] put: an error occured when writing to > the persisten > t queue, transient entry sblszsnsrxx/2003-08-23 11:19:41.353000001 is not swapped > and will be lost. > Is the DB up and running ? xmlBlasterException errorCode=[resource.db.unknown] > serverSideExcepti > on=true node=[xmlBlaster_192_168_80_11_3412] > location=[JdbcManagerCommonTable.addEntry] message= > [An unknown error with the backend database using JDBC occurred : > java.sql.SQLException: inserted > value too large for column: 18998] state: > <PersistenceCachePlugin id='msgUnitStore:xmlBlaster_192_168_80_11_3412/sblszsnsrxx' > type='CACHE > ' version='1.0' numOfEntries='95' numOfBytes='2094335'> > <MapPlugin id='msgUnitStore:xmlBlaster_192_168_80_11_3412/sblszsnsrxx' type='RAM' > version='1.0 > ' numOfEntries='95' numOfBytes='2094335'> > <persistence relating='msgUnitStore' maxEntries='1000000' > maxEntriesCache='1000000' maxBytes='209 > 7152'/> > </MapPlugin> > <JdbcQueueCommonTablePlugin > id='msgUnitStore:xmlBlaster_192_168_80_11_3412/sblszsnsrxx' type=' > JDBC' version='1.0' numOfEntries='0' numOfBytes='0'> > <persistence relating='msgUnitStore' maxEntries='100000000' > maxEntriesCache='1000000'/> > <numOfPersistentsCached>0</numOfPersistentsCached> > <sizeOfPersistentsCached>0</sizeOfPersistentsCached> > <numOfEntriesCached>0</numOfEntriesCached> > <numOfBytesCached>0</numOfBytesCached> > <numOfEntries>0</numOfEntries> > <numOfBytes>0</numOfBytes> > <numOfPersistents>0</numOfPersistents> > <sizeOfPersistents>0</sizeOfPersistents> > </JdbcQueueCommonTablePlugin> > </PersistenceCachePlugin> > > i had modified some codes in JdbcManagerCommonTable.java, and the problem is > solved. > the modification are: > //preStatement.setBytes(5, blob); > //use this bytes array to construct a InputStream > ByteArrayInputStream blob_stream = new ByteArrayInputStream(blob) ; > // preStatement.setBytes(5, blob); > preStatement.setBinaryStream(5, blob_stream,(int)sizeInBytes); > > In my option,setBytes mothed is limited by length of blob object, but > setBinaryStream not. > > Marcel, any problem in my modification?
Thanks for this big fix. If Michele approves it (check other databases) he will fix it in our cvs. regards, Marcel > > regards > > pikaiyuan > [EMAIL PROTECTED] > 2003-08-25 > > > -- http://www.xmlBlaster.org
