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

Reply via email to