[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