[jboss-cvs] JBoss Messaging SVN: r5086 - in branches/Branch_1_4: integration/AS5/etc/xmdesc and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 8 10:42:35 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-10-08 10:42:35 -0400 (Wed, 08 Oct 2008)
New Revision: 5086

Modified:
   branches/Branch_1_4/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml
   branches/Branch_1_4/integration/AS5/etc/xmdesc/JDBCPersistenceManager-xmbean.xml
   branches/Branch_1_4/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml
   branches/Branch_1_4/integration/EAP4/etc/xmdesc/JDBCPersistenceManager-xmbean.xml
   branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
   branches/Branch_1_4/src/main/org/jboss/messaging/core/jmx/JDBCPersistenceManagerService.java
   branches/Branch_1_4/tests/build.properties
   branches/Branch_1_4/tests/etc/container.xml
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/IdManagerTest.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/MessagingQueueTestBase.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java
Log:
Fixing HSQL versus DB2 change

Modified: branches/Branch_1_4/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml
===================================================================
--- branches/Branch_1_4/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml	2008-10-08 14:42:35 UTC (rev 5086)
@@ -38,6 +38,8 @@
       <attribute name="IDCacheSize">500</attribute>
 
       <attribute name="SupportsBlobOnSelect">false</attribute>
+      
+      <attribute name="SupportsSetNullOnBlobs">false</attribute>
 
       <attribute name="SqlProperties"><![CDATA[
    CREATE_DUAL=CREATE TABLE JBM_DUAL (DUAL_DUMMY INTEGER NOT NULL, PRIMARY KEY (DUAL_DUMMY))

Modified: branches/Branch_1_4/integration/AS5/etc/xmdesc/JDBCPersistenceManager-xmbean.xml
===================================================================
--- branches/Branch_1_4/integration/AS5/etc/xmdesc/JDBCPersistenceManager-xmbean.xml	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/integration/AS5/etc/xmdesc/JDBCPersistenceManager-xmbean.xml	2008-10-08 14:42:35 UTC (rev 5086)
@@ -76,7 +76,14 @@
       <name>SupportsBlobOnSelect</name>
       <type>boolean</type>
    </attribute>
+   
+   <attribute access="read-write" getMethod="isSupportsSetNullOnBlobs" setMethod="setSupportsSetNullOnBlobs">
+      <description>Some databases don't support binding null blobs using setNull (mainly DB2)</description>
+      <name>SupportsSetNullOnBlobs</name>
+      <type>boolean</type>
+   </attribute>
 
+
    <attribute access="read-write" getMethod="isDetectDuplicates" setMethod="setDetectDuplicates">
       <description>Detect duplicate message sends on failover? There is some performance hit for doing this</description>
       <name>DetectDuplicates</name>

Modified: branches/Branch_1_4/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml
===================================================================
--- branches/Branch_1_4/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/integration/EAP4/etc/server/default/deploy/db2-persistence-service.xml	2008-10-08 14:42:35 UTC (rev 5086)
@@ -38,6 +38,8 @@
       <attribute name="IDCacheSize">500</attribute>
 
       <attribute name="SupportsBlobOnSelect">false</attribute>
+      
+      <attribute name="SupportsSetNullOnBlobs">false</attribute>
 
       <attribute name="SqlProperties"><![CDATA[
    CREATE_DUAL=CREATE TABLE JBM_DUAL (DUAL_DUMMY INTEGER NOT NULL, PRIMARY KEY (DUAL_DUMMY))

Modified: branches/Branch_1_4/integration/EAP4/etc/xmdesc/JDBCPersistenceManager-xmbean.xml
===================================================================
--- branches/Branch_1_4/integration/EAP4/etc/xmdesc/JDBCPersistenceManager-xmbean.xml	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/integration/EAP4/etc/xmdesc/JDBCPersistenceManager-xmbean.xml	2008-10-08 14:42:35 UTC (rev 5086)
@@ -76,6 +76,12 @@
       <name>SupportsBlobOnSelect</name>
       <type>boolean</type>
    </attribute>
+   
+   <attribute access="read-write" getMethod="isSupportsSetNullOnBlobs" setMethod="setSupportsSetNullOnBlobs">
+      <description>Some databases don't support binding null blobs using setNull (mainly DB2)</description>
+      <name>SupportsSetNullOnBlobs</name>
+      <type>boolean</type>
+   </attribute>
 
    <attribute access="read-write" getMethod="isDetectDuplicates" setMethod="setDetectDuplicates">
       <description>Detect duplicate message sends on failover? There is some performance hit for doing this</description>

Modified: branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -84,8 +84,11 @@
    // clauses,
    // what would force us to use a two stage insert (insert and if successful,
    // update)
-   private boolean supportsBlobSelect;
+   private final boolean supportsBlobSelect;
 
+   // DB2 doesn't support setNull on Blobs
+   private final  boolean supportsSetNullOnBlobs;
+
    private boolean detectDuplicates;
 
    private Map<Integer, String> idCache = new ConcurrentHashMap<Integer, String>();
@@ -99,12 +102,13 @@
 
    private final int idCacheSize;
 
+
    // Constructors --------------------------------------------------
 
    public JDBCPersistenceManager(DataSource ds, TransactionManager tm,
          Properties sqlProperties, boolean createTablesOnStartup,
          boolean usingBatchUpdates, boolean usingBinaryStream,
-         boolean usingTrailingByte, int maxParams, boolean supportsBlobSelect,
+         boolean usingTrailingByte, int maxParams, boolean supportsBlobSelect, boolean supportsSetNullOnBlobs,
          boolean detectDuplicates, boolean useNDBFailoverStrategy, int idCacheSize)
    {
       super(ds, tm, sqlProperties, createTablesOnStartup, useNDBFailoverStrategy);
@@ -119,6 +123,8 @@
       this.maxParams = maxParams;
 
       this.supportsBlobSelect = supportsBlobSelect;
+      
+      this.supportsSetNullOnBlobs = supportsSetNullOnBlobs;
 
       this.detectDuplicates = detectDuplicates;
 
@@ -129,10 +135,10 @@
    public JDBCPersistenceManager(DataSource ds, TransactionManager tm,
          Properties sqlProperties, boolean createTablesOnStartup,
          boolean usingBatchUpdates, boolean usingBinaryStream,
-         boolean usingTrailingByte, int maxParams, boolean supportsBlobSelect)
+         boolean usingTrailingByte, int maxParams, boolean supportsBlobSelect, boolean supportsSetNullOnBlobs)
    {
       this (ds, tm, sqlProperties, createTablesOnStartup, usingBatchUpdates, usingBinaryStream, usingTrailingByte,
-            maxParams, supportsBlobSelect, false, false, 0);
+            maxParams, supportsBlobSelect, supportsSetNullOnBlobs, false, false, 0);
    }
 
    // MessagingComponent overrides ---------------------------------
@@ -2365,7 +2371,7 @@
       }
       return rows;
    }
-
+  
    private void bindBlobs(Message m, PreparedStatement ps, int headerPosition,
          int payloadPosition) throws Exception
    {
@@ -2377,7 +2383,7 @@
       }
       else
       {
-         ps.setBinaryStream(headerPosition, null, 0);
+         setNullStream(ps, headerPosition);
       }
 
       byte[] payload = m.getPayloadAsByteArray();
@@ -2387,10 +2393,22 @@
       }
       else
       {
-         ps.setBinaryStream(payloadPosition, null, 0);
+         setNullStream(ps, payloadPosition);
       }
    }
 
+   private void setNullStream(PreparedStatement ps, int position) throws SQLException
+   {
+      if (supportsSetNullOnBlobs)
+      {
+         ps.setNull(position, Types.LONGVARBINARY);
+      }
+      else
+      {
+         ps.setBinaryStream(position, null, 0);
+      }
+   }
+
    protected void setVarBinaryColumn(int column, PreparedStatement ps,
          byte[] bytes) throws Exception
    {

Modified: branches/Branch_1_4/src/main/org/jboss/messaging/core/jmx/JDBCPersistenceManagerService.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/jmx/JDBCPersistenceManagerService.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/jmx/JDBCPersistenceManagerService.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -54,6 +54,8 @@
    private int maxParams = 100;
 
    private boolean supportsBlobOnSelect = true;
+   
+   private boolean supportsSetNullOnBlobs = true;
 
    private boolean detectDuplicates = false;
 
@@ -93,7 +95,7 @@
             new JDBCPersistenceManager(ds, tm, sqlProperties,
                                        createTablesOnStartup, usingBatchUpdates,
                                        usingBinaryStream, usingTrailingByte, maxParams,
-                                       supportsBlobOnSelect, detectDuplicates, useNDBFailoverStrategy, idCacheSize);
+                                       supportsBlobOnSelect, supportsSetNullOnBlobs, detectDuplicates, useNDBFailoverStrategy, idCacheSize);
 
          persistenceManager.start();
 
@@ -199,7 +201,17 @@
    {
       this.detectDuplicates = detectDuplicates;
    }
+   
+   public boolean isSupportsSetNullOnBlobs()
+   {
+      return supportsSetNullOnBlobs;
+   }
 
+   public void setSupportsSetNullOnBlobs(boolean supportsSetNullOnBlobs)
+   {
+      this.supportsSetNullOnBlobs = supportsSetNullOnBlobs;
+   }
+
    public int getIDCacheSize()
    {
       return idCacheSize;

Modified: branches/Branch_1_4/tests/build.properties
===================================================================
--- branches/Branch_1_4/tests/build.properties	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/build.properties	2008-10-08 14:42:35 UTC (rev 5086)
@@ -2,5 +2,6 @@
 # Local overrides for the builds initiated by build.sh
 #
 
-#test.bind.address=192.168.1.12
+test.bind.address=192.168.1.150
 
+

Modified: branches/Branch_1_4/tests/etc/container.xml
===================================================================
--- branches/Branch_1_4/tests/etc/container.xml	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/etc/container.xml	2008-10-08 14:42:35 UTC (rev 5086)
@@ -35,7 +35,7 @@
          <url>jdbc:mysql://localhost/messaging</url>
          <driver>com.mysql.jdbc.Driver</driver>
          <isolation>TRANSACTION_READ_COMMITTED</isolation>
-         <username>sa</username>
+         <username>root</username>
       </database-configuration>
 
 

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/IdManagerTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/IdManagerTest.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/IdManagerTest.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -69,7 +69,8 @@
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                                     sc.getPersistenceManagerSQLProperties(),
                                     true, true, true, false, 100,
-                                    !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));   
+                                    !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                                    !sc.getDatabaseName().equals("db2"));   
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
       

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -99,7 +99,8 @@
       JDBCPersistenceManager p =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, batch, useBinaryStream, trailingByte, maxParams, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, batch, useBinaryStream, trailingByte, maxParams, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)p).injectNodeID(1);
       p.start();
       return p;

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/MessagingQueueTestBase.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/MessagingQueueTestBase.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/MessagingQueueTestBase.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -105,7 +105,8 @@
 
       pm = new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                                       sc.getPersistenceManagerSQLProperties(),
-                                      true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                                      true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                                      !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -238,7 +238,8 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -92,7 +92,7 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"), !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -87,7 +87,7 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));   
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"), !sc.getDatabaseName().equals("db2"));   
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
             

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -112,7 +112,8 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 
@@ -204,7 +205,8 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 
@@ -346,7 +348,8 @@
       pm =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));
+                  true, true, true, false, 100, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       pm.start();
 

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java	2008-10-07 20:14:04 UTC (rev 5085)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java	2008-10-08 14:42:35 UTC (rev 5086)
@@ -73,7 +73,8 @@
       JDBCPersistenceManager p =
          new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
                   sc.getPersistenceManagerSQLProperties(),
-                  true, batch, true, false, maxParams, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"));      
+                  true, batch, true, false, maxParams, !sc.getDatabaseName().equals("oracle") && !sc.getDatabaseName().equals("db2"),
+                  !sc.getDatabaseName().equals("db2"));      
       ((JDBCPersistenceManager)pm).injectNodeID(1);
       p.start();
       return p;




More information about the jboss-cvs-commits mailing list