[jboss-svn-commits] JBL Code SVN: r21086 - labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/couriers.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 17 09:00:33 EDT 2008


Author: kevin.conner at jboss.com
Date: 2008-07-17 09:00:33 -0400 (Thu, 17 Jul 2008)
New Revision: 21086

Modified:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
Log:
Support BLOB/CLOB for Oracle: JBESB-1833

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	2008-07-17 12:53:23 UTC (rev 21085)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	2008-07-17 13:00:33 UTC (rev 21086)
@@ -38,7 +38,9 @@
 import org.jboss.soa.esb.message.util.Type;
 import org.jboss.soa.esb.util.Util;
 
+import java.io.ByteArrayInputStream;
 import java.io.Serializable;
+import java.io.StringReader;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.sql.Blob;
@@ -51,9 +53,6 @@
 import java.sql.Types;
 import java.util.UUID;
 
-import javax.sql.rowset.serial.SerialBlob;
-import javax.sql.rowset.serial.SerialClob;
-
 public class SqlTableCourier implements PickUpOnlyCourier, DeliverOnlyCourier
 {
     protected long _pollLatency = 200;
@@ -163,8 +162,9 @@
                 switch(type)
                 {
                 case Types.BLOB:
-                    final Blob blob = new SerialBlob(serializedMessage.toString().getBytes()) ;
-                    insertStatement.setBlob(2, blob) ;
+                    final byte[] blobData =  serializedMessage.toString().getBytes() ;
+                    final ByteArrayInputStream bais = new ByteArrayInputStream(blobData) ;
+                    insertStatement.setBinaryStream(2, bais, blobData.length) ;
                     break ;
                 case Types.BINARY:
                 case Types.VARBINARY:
@@ -173,8 +173,9 @@
                     insertStatement.setBytes(2, data) ;
                     break ;
                 case Types.CLOB:
-                    final Clob clob = new SerialClob(serializedMessage.toString().toCharArray()) ;
-                    insertStatement.setClob(2, clob) ;
+                    final String clobData = serializedMessage.toString() ;
+                    final StringReader clobReader = new StringReader(clobData) ;
+                    insertStatement.setCharacterStream(2, clobReader, clobData.length()) ;
                     break ;
                 case Types.CHAR:
                 case Types.VARCHAR:




More information about the jboss-svn-commits mailing list