[jboss-cvs] JBoss Messaging SVN: r1517 - in trunk/tests/src/org/jboss/test/messaging: core core/local/base core/paging core/paging/base core/plugin core/plugin/base core/plugin/postoffice core/plugin/postoffice/cluster jms/manual jms/persistence tools/jmx

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 25 08:37:44 EDT 2006


Author: timfox
Date: 2006-10-25 08:37:33 -0400 (Wed, 25 Oct 2006)
New Revision: 1517

Added:
   trunk/tests/src/org/jboss/test/messaging/core/plugin/base/PostOfficeTestBase.java
Removed:
   trunk/tests/src/org/jboss/test/messaging/core/plugin/base/ClusteringTestBase.java
Modified:
   trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java
   trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/base/PagingStateTestBase.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/IdManagerTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/JDBCPersistenceManagerTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeWithDefaultRouterTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RecoveryTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualClusteringTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java
   trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-289


Modified: trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -112,8 +112,9 @@
       sc.start();
       
       PersistenceManager pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);
       pm.start();
       
       IdManager idm = new IdManager("TRANSACTION_ID", 10, pm);

Modified: trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -115,8 +115,9 @@
       sc.start();
 
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);
       pm.start();
       
       idm = new IdManager("TRANSACTION_ID", 10, pm);

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/PagingTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -86,8 +86,9 @@
       sc.start();
 
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);   
       pm.start();
             
       ms = new SimpleMessageStore();

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -116,8 +116,9 @@
       ms.stop();
       
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);      
       pm.start();
       
       tr = new TransactionRepository(pm, idm);
@@ -213,8 +214,9 @@
       ms.stop();
       
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);     
       pm.start();
       
       tr = new TransactionRepository(pm, idm);

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/base/PagingStateTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/base/PagingStateTestBase.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/base/PagingStateTestBase.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -95,8 +95,9 @@
       sc.start();
 
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);     
       pm.start();
       
       idm = new IdManager("TRANSACTION_ID", 10, pm);

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/IdManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/IdManagerTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/IdManagerTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -67,8 +67,9 @@
       sc.start();                
       
       pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, true, true, 100);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);     
       pm.start();
       
       pm.start();

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/JDBCPersistenceManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/JDBCPersistenceManagerTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/JDBCPersistenceManagerTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -102,8 +102,9 @@
    protected JDBCPersistenceManager createPM(boolean batch, int maxParams) throws Throwable
    {      
       JDBCPersistenceManager p =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, batch, true, maxParams);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, batch, true, maxParams);
       p.start();
       return p;
    }

Deleted: trunk/tests/src/org/jboss/test/messaging/core/plugin/base/ClusteringTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/base/ClusteringTestBase.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/base/ClusteringTestBase.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -1,331 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.messaging.core.plugin.base;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.naming.InitialContext;
-import javax.sql.DataSource;
-import javax.transaction.TransactionManager;
-
-import org.jboss.jms.server.QueuedExecutorPool;
-import org.jboss.messaging.core.FilterFactory;
-import org.jboss.messaging.core.Message;
-import org.jboss.messaging.core.MessageReference;
-import org.jboss.messaging.core.Queue;
-import org.jboss.messaging.core.plugin.IdManager;
-import org.jboss.messaging.core.plugin.JDBCPersistenceManager;
-import org.jboss.messaging.core.plugin.SimpleMessageStore;
-import org.jboss.messaging.core.plugin.contract.MessageStore;
-import org.jboss.messaging.core.plugin.contract.PersistenceManager;
-import org.jboss.messaging.core.plugin.contract.PostOffice;
-import org.jboss.messaging.core.plugin.postoffice.DefaultPostOffice;
-import org.jboss.messaging.core.tx.Transaction;
-import org.jboss.messaging.core.tx.TransactionRepository;
-import org.jboss.test.messaging.MessagingTestCase;
-import org.jboss.test.messaging.core.SimpleFilterFactory;
-import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.tools.ServerManagement;
-import org.jboss.test.messaging.tools.jmx.ServiceContainer;
-import org.jboss.test.messaging.util.CoreMessageFactory;
-import org.jboss.tm.TransactionManagerService;
-
-/**
- * 
- * A PostOfficeTestBase
- *
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 1.1 $</tt>
- *
- * $Id$
- *
- */
-public class ClusteringTestBase extends MessagingTestCase
-{
-   // Constants -----------------------------------------------------
-
-   // Static --------------------------------------------------------
-   
-   // Attributes ----------------------------------------------------
-
-   protected ServiceContainer sc;
-
-   protected IdManager channelIdManager;   
-   
-   protected IdManager transactionIdManager;   
-   
-   protected PersistenceManager pm;
-      
-   protected MessageStore ms;
-   
-   protected TransactionRepository tr;
-   
-   protected QueuedExecutorPool pool;
-   
-   // Constructors --------------------------------------------------
-
-   public ClusteringTestBase(String name)
-   {
-      super(name);
-   }
-
-   // Public --------------------------------------------------------
-
-   public void setUp() throws Exception
-   {
-      super.setUp();
-
-      sc = new ServiceContainer("all");
-      
-      sc.start();                
-      
-      pm =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, false, true, 100);      
-      pm.start();
-      
-      transactionIdManager = new IdManager("TRANSACTION_ID", 10, pm);
-      transactionIdManager.start();
-      
-      tr = new TransactionRepository(pm, transactionIdManager);
-      tr.start();
-      
-      ms = new SimpleMessageStore();
-      ms.start();
-      
-      pool = new QueuedExecutorPool(10);
-      
-      channelIdManager = new IdManager("CHANNEL_ID", 10, pm);
-      channelIdManager.start();
-            
-      log.debug("setup done");
-   }
-
-   public void tearDown() throws Exception
-   {      
-      if (!ServerManagement.isRemote())
-      {
-         sc.stop();
-         sc = null;
-      }
-      pm.stop();
-      tr.stop();
-      ms.stop();
-      transactionIdManager.stop();
-      channelIdManager.stop();
-      
-      super.tearDown();
-   }
-   
-   // Public --------------------------------------------------------     
-   
-   protected PostOffice createPostOffice() throws Exception
-   {
-      FilterFactory ff = new SimpleFilterFactory();
-      
-      DefaultPostOffice postOffice = 
-         new DefaultPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                            null, true, 1, "Simple", ms, pm, tr, ff, pool);
-      
-      postOffice.start();      
-      
-      return postOffice;
-   }
-   
-   protected boolean checkNoBindingData() throws Exception
-   {
-      InitialContext ctx = new InitialContext();
-
-      TransactionManager mgr = (TransactionManager)ctx.lookup(TransactionManagerService.JNDI_NAME);
-      DataSource ds = (DataSource)ctx.lookup("java:/DefaultDS");
-      
-      javax.transaction.Transaction txOld = mgr.suspend();
-      mgr.begin();
-      
-      Connection conn = null;
-      
-      PreparedStatement ps = null;
-      
-      ResultSet rs = null;
-
-      try
-      {
-         conn = ds.getConnection();
-         String sql = "SELECT * FROM JMS_POSTOFFICE";
-         ps = conn.prepareStatement(sql);
-         
-         rs = ps.executeQuery();
-         
-         return rs.next();
-      }
-      finally
-      {
-         if (rs != null) rs.close();
-         
-         if (ps != null) ps.close();
-         
-         if (conn != null) conn.close();
-         
-         mgr.commit();
-
-         if (txOld != null)
-         {
-            mgr.resume(txOld);
-         }
-                  
-      } 
-   }
-   
-   protected boolean checkNoMessageData() throws Exception
-   {
-      InitialContext ctx = new InitialContext();
-
-      TransactionManager mgr = (TransactionManager)ctx.lookup(TransactionManagerService.JNDI_NAME);
-      DataSource ds = (DataSource)ctx.lookup("java:/DefaultDS");
-      
-      javax.transaction.Transaction txOld = mgr.suspend();
-      mgr.begin();
-      
-      Connection conn = null;
-      
-      PreparedStatement ps = null;
-      
-      ResultSet rs = null;
-
-      try
-      {
-         conn = ds.getConnection();
-         String sql = "SELECT * FROM JMS_MESSAGE_REFERENCE";
-         ps = conn.prepareStatement(sql);
-         
-         rs = ps.executeQuery();
-         
-         boolean exists = rs.next();
-         
-         if (!exists)
-         {
-            rs.close();
-            
-            ps.close();
-            
-            ps = conn.prepareStatement("SELECT * FROM JMS_MESSAGE");
-            
-            rs = ps.executeQuery();
-           
-            exists = rs.next();
-         }
-         
-         return exists;
-      }
-      finally
-      {
-         if (rs != null) rs.close();
-         
-         if (ps != null) ps.close();
-         
-         if (conn != null) conn.close();
-         
-         mgr.commit();
-
-         if (txOld != null)
-         {
-            mgr.resume(txOld);
-         }
-                  
-      } 
-   }
-   
-   private static long msgCount;
-   
-   protected List sendMessages(String condition, boolean persistent, PostOffice office, int num, Transaction tx) throws Exception
-   {
-      List list = new ArrayList();
-      
-      for (int i = 0; i < num; i++)
-      {         
-         Message msg = CoreMessageFactory.createCoreMessage(msgCount++, persistent, null);      
-         
-         MessageReference ref = ms.reference(msg);         
-         
-         boolean routed = office.route(ref, condition, null);         
-         
-         assertTrue(routed);
-         
-         list.add(msg);
-      }
-      
-      Thread.sleep(1000);
-      
-      return list;
-   }
-   
-   protected void checkContainsAndAcknowledge(Message msg, SimpleReceiver receiver, Queue queue) throws Throwable
-   {
-      List msgs = receiver.getMessages();
-      assertNotNull(msgs);
-      assertEquals(1, msgs.size());
-      Message msgRec = (Message)msgs.get(0);
-      assertEquals(msg.getMessageID(), msgRec.getMessageID());
-      receiver.acknowledge(msgRec, null);
-      msgs = queue.browse();
-      assertNotNull(msgs);
-      assertTrue(msgs.isEmpty()); 
-      receiver.clear();
-   }
-   
-   protected void checkContainsAndAcknowledge(List msgList, SimpleReceiver receiver, Queue queue) throws Throwable
-   {
-      List msgs = receiver.getMessages();
-      assertNotNull(msgs);
-      assertEquals(msgList.size(), msgs.size());
-      
-      for (int i = 0; i < msgList.size(); i++)
-      {
-         Message msgRec = (Message)msgs.get(i);
-         Message msgCheck = (Message)msgList.get(i);
-         assertEquals(msgCheck.getMessageID(), msgRec.getMessageID());
-         receiver.acknowledge(msgRec, null);
-      }
-      
-      msgs = queue.browse();
-      assertNotNull(msgs);
-      assertTrue(msgs.isEmpty()); 
-      receiver.clear();
-   }
-   
-   protected void checkEmpty(SimpleReceiver receiver) throws Throwable
-   {
-      List msgs = receiver.getMessages();
-      assertNotNull(msgs);
-      assertTrue(msgs.isEmpty());
-   }
-   
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}
-
-

Added: trunk/tests/src/org/jboss/test/messaging/core/plugin/base/PostOfficeTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/base/PostOfficeTestBase.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/base/PostOfficeTestBase.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -0,0 +1,332 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.messaging.core.plugin.base;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+
+import org.jboss.jms.server.QueuedExecutorPool;
+import org.jboss.messaging.core.FilterFactory;
+import org.jboss.messaging.core.Message;
+import org.jboss.messaging.core.MessageReference;
+import org.jboss.messaging.core.Queue;
+import org.jboss.messaging.core.plugin.IdManager;
+import org.jboss.messaging.core.plugin.JDBCPersistenceManager;
+import org.jboss.messaging.core.plugin.SimpleMessageStore;
+import org.jboss.messaging.core.plugin.contract.MessageStore;
+import org.jboss.messaging.core.plugin.contract.PersistenceManager;
+import org.jboss.messaging.core.plugin.contract.PostOffice;
+import org.jboss.messaging.core.plugin.postoffice.DefaultPostOffice;
+import org.jboss.messaging.core.tx.Transaction;
+import org.jboss.messaging.core.tx.TransactionRepository;
+import org.jboss.test.messaging.MessagingTestCase;
+import org.jboss.test.messaging.core.SimpleFilterFactory;
+import org.jboss.test.messaging.core.SimpleReceiver;
+import org.jboss.test.messaging.tools.ServerManagement;
+import org.jboss.test.messaging.tools.jmx.ServiceContainer;
+import org.jboss.test.messaging.util.CoreMessageFactory;
+import org.jboss.tm.TransactionManagerService;
+
+/**
+ * 
+ * A PostOfficeTestBase
+ *
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @version <tt>$Revision: 1.1 $</tt>
+ *
+ * $Id$
+ *
+ */
+public class PostOfficeTestBase extends MessagingTestCase
+{
+   // Constants -----------------------------------------------------
+
+   // Static --------------------------------------------------------
+   
+   // Attributes ----------------------------------------------------
+
+   protected ServiceContainer sc;
+
+   protected IdManager channelIdManager;   
+   
+   protected IdManager transactionIdManager;   
+   
+   protected PersistenceManager pm;
+      
+   protected MessageStore ms;
+   
+   protected TransactionRepository tr;
+   
+   protected QueuedExecutorPool pool;
+   
+   // Constructors --------------------------------------------------
+
+   public PostOfficeTestBase(String name)
+   {
+      super(name);
+   }
+
+   // Public --------------------------------------------------------
+
+   public void setUp() throws Exception
+   {
+      super.setUp();
+
+      sc = new ServiceContainer("all");
+      
+      sc.start();                
+      
+      pm =
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, true, true, 100);     
+      pm.start();
+      
+      transactionIdManager = new IdManager("TRANSACTION_ID", 10, pm);
+      transactionIdManager.start();
+      
+      tr = new TransactionRepository(pm, transactionIdManager);
+      tr.start();
+      
+      ms = new SimpleMessageStore();
+      ms.start();
+      
+      pool = new QueuedExecutorPool(10);
+      
+      channelIdManager = new IdManager("CHANNEL_ID", 10, pm);
+      channelIdManager.start();
+            
+      log.debug("setup done");
+   }
+
+   public void tearDown() throws Exception
+   {      
+      if (!ServerManagement.isRemote())
+      {
+         sc.stop();
+         sc = null;
+      }
+      pm.stop();
+      tr.stop();
+      ms.stop();
+      transactionIdManager.stop();
+      channelIdManager.stop();
+      
+      super.tearDown();
+   }
+   
+   // Public --------------------------------------------------------     
+   
+   protected PostOffice createPostOffice() throws Exception
+   {
+      FilterFactory ff = new SimpleFilterFactory();
+      
+      DefaultPostOffice postOffice = 
+         new DefaultPostOffice(sc.getDataSource(), sc.getTransactionManager(),
+                            sc.getPostOfficeSQLProperties(), true, 1, "Simple", ms, pm, tr, ff, pool);
+      
+      postOffice.start();      
+      
+      return postOffice;
+   }
+   
+   protected boolean checkNoBindingData() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+
+      TransactionManager mgr = (TransactionManager)ctx.lookup(TransactionManagerService.JNDI_NAME);
+      DataSource ds = (DataSource)ctx.lookup("java:/DefaultDS");
+      
+      javax.transaction.Transaction txOld = mgr.suspend();
+      mgr.begin();
+      
+      Connection conn = null;
+      
+      PreparedStatement ps = null;
+      
+      ResultSet rs = null;
+
+      try
+      {
+         conn = ds.getConnection();
+         String sql = "SELECT * FROM JMS_POSTOFFICE";
+         ps = conn.prepareStatement(sql);
+         
+         rs = ps.executeQuery();
+         
+         return rs.next();
+      }
+      finally
+      {
+         if (rs != null) rs.close();
+         
+         if (ps != null) ps.close();
+         
+         if (conn != null) conn.close();
+         
+         mgr.commit();
+
+         if (txOld != null)
+         {
+            mgr.resume(txOld);
+         }
+                  
+      } 
+   }
+   
+   protected boolean checkNoMessageData() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+
+      TransactionManager mgr = (TransactionManager)ctx.lookup(TransactionManagerService.JNDI_NAME);
+      DataSource ds = (DataSource)ctx.lookup("java:/DefaultDS");
+      
+      javax.transaction.Transaction txOld = mgr.suspend();
+      mgr.begin();
+      
+      Connection conn = null;
+      
+      PreparedStatement ps = null;
+      
+      ResultSet rs = null;
+
+      try
+      {
+         conn = ds.getConnection();
+         String sql = "SELECT * FROM JMS_MESSAGE_REFERENCE";
+         ps = conn.prepareStatement(sql);
+         
+         rs = ps.executeQuery();
+         
+         boolean exists = rs.next();
+         
+         if (!exists)
+         {
+            rs.close();
+            
+            ps.close();
+            
+            ps = conn.prepareStatement("SELECT * FROM JMS_MESSAGE");
+            
+            rs = ps.executeQuery();
+           
+            exists = rs.next();
+         }
+         
+         return exists;
+      }
+      finally
+      {
+         if (rs != null) rs.close();
+         
+         if (ps != null) ps.close();
+         
+         if (conn != null) conn.close();
+         
+         mgr.commit();
+
+         if (txOld != null)
+         {
+            mgr.resume(txOld);
+         }
+                  
+      } 
+   }
+   
+   private static long msgCount;
+   
+   protected List sendMessages(String condition, boolean persistent, PostOffice office, int num, Transaction tx) throws Exception
+   {
+      List list = new ArrayList();
+      
+      for (int i = 0; i < num; i++)
+      {         
+         Message msg = CoreMessageFactory.createCoreMessage(msgCount++, persistent, null);      
+         
+         MessageReference ref = ms.reference(msg);         
+         
+         boolean routed = office.route(ref, condition, null);         
+         
+         assertTrue(routed);
+         
+         list.add(msg);
+      }
+      
+      Thread.sleep(1000);
+      
+      return list;
+   }
+   
+   protected void checkContainsAndAcknowledge(Message msg, SimpleReceiver receiver, Queue queue) throws Throwable
+   {
+      List msgs = receiver.getMessages();
+      assertNotNull(msgs);
+      assertEquals(1, msgs.size());
+      Message msgRec = (Message)msgs.get(0);
+      assertEquals(msg.getMessageID(), msgRec.getMessageID());
+      receiver.acknowledge(msgRec, null);
+      msgs = queue.browse();
+      assertNotNull(msgs);
+      assertTrue(msgs.isEmpty()); 
+      receiver.clear();
+   }
+   
+   protected void checkContainsAndAcknowledge(List msgList, SimpleReceiver receiver, Queue queue) throws Throwable
+   {
+      List msgs = receiver.getMessages();
+      assertNotNull(msgs);
+      assertEquals(msgList.size(), msgs.size());
+      
+      for (int i = 0; i < msgList.size(); i++)
+      {
+         Message msgRec = (Message)msgs.get(i);
+         Message msgCheck = (Message)msgList.get(i);
+         assertEquals(msgCheck.getMessageID(), msgRec.getMessageID());
+         receiver.acknowledge(msgRec, null);
+      }
+      
+      msgs = queue.browse();
+      assertNotNull(msgs);
+      assertTrue(msgs.isEmpty()); 
+      receiver.clear();
+   }
+   
+   protected void checkEmpty(SimpleReceiver receiver) throws Throwable
+   {
+      List msgs = receiver.getMessages();
+      assertNotNull(msgs);
+      assertTrue(msgs.isEmpty());
+   }
+   
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}
+
+

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -54,7 +54,7 @@
 import org.jboss.test.messaging.core.SimpleFilter;
 import org.jboss.test.messaging.core.SimpleFilterFactory;
 import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.core.plugin.base.ClusteringTestBase;
+import org.jboss.test.messaging.core.plugin.base.PostOfficeTestBase;
 import org.jboss.test.messaging.tools.ServerManagement;
 import org.jboss.test.messaging.tools.jmx.ServiceContainer;
 import org.jboss.test.messaging.util.CoreMessageFactory;
@@ -72,7 +72,7 @@
  * $Id$
  *
  */
-public class DefaultPostOfficeTest extends ClusteringTestBase
+public class DefaultPostOfficeTest extends PostOfficeTestBase
 {
    // Constants -----------------------------------------------------
 
@@ -324,9 +324,6 @@
       routeWithFilter(true);
    }
    
-   
-
-   
    public final void testRoutePersistent() throws Throwable
    {
       route(true);
@@ -497,10 +494,6 @@
          {
             fail("data still in database");
          }
-         if (checkNoBindingData())
-         {
-            fail("Binding data still in database");
-         }
       }
    
    }
@@ -546,10 +539,6 @@
          {
             fail("data still in database");
          }
-         if (checkNoBindingData())
-         {
-            fail("Binding data still in database");
-         }
       }
    }
    
@@ -660,10 +649,6 @@
          {
             fail("data still in database");
          }
-         if (checkNoBindingData())
-         {
-            fail("Binding data still in database");
-         }
       }
    }
    
@@ -838,11 +823,6 @@
          {
             fail("data still in database");
          }
-         if (checkNoBindingData())
-         {
-            fail("Binding data still in database");
-         }
-      
       }
    }
    
@@ -1096,6 +1076,8 @@
          msgRec2 = (Message)msgs.get(1);
          assertTrue(msgRec1 == msg7);
          assertTrue(msgRec2 == msg8);
+         receiver1.acknowledge(msgRec1, null);
+         receiver1.acknowledge(msgRec2, null);
          
          msgs = queue2.browse();
          assertNotNull(msgs);
@@ -1103,7 +1085,9 @@
          msgRec1 = (Message)msgs.get(0);
          msgRec2 = (Message)msgs.get(1);
          assertTrue(msgRec1 == msg7);
-         assertTrue(msgRec2 == msg8);        
+         assertTrue(msgRec2 == msg8);    
+         receiver2.acknowledge(msgRec1, null);
+         receiver2.acknowledge(msgRec2, null);
       }
       finally
       {
@@ -1116,10 +1100,6 @@
          {
             fail("data still in database");
          };
-         if (checkNoBindingData())
-         {
-            fail("Binding data still in database");
-         }
       }
    }
    

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -424,7 +424,10 @@
             office3.stop();
          }
          
-         checkNoBindingData();
+         if (checkNoBindingData())
+         {
+            fail("data still in database");
+         }
       }
       
    }
@@ -725,7 +728,10 @@
             office2.stop();
          }
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -902,7 +908,10 @@
             office2.stop();
          }
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -1060,7 +1069,10 @@
             office6.stop();
          }
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -1145,7 +1157,10 @@
          }
          
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -1588,7 +1603,10 @@
             office7.stop();
          }
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -2209,7 +2227,10 @@
             office2.stop();
          }
          
-         checkNoMessageData();
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
    }
    
@@ -2223,7 +2244,7 @@
       
       DefaultClusteredPostOffice postOffice = 
          new DefaultClusteredPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                                 null, true, nodeId, "Clustered", ms, pm, tr, ff, pool,
+                                 sc.getClusteredPostOfficeSQLProperties(), true, nodeId, "Clustered", ms, pm, tr, ff, pool,
                                  groupName,
                                  JGroupsUtil.getControlStackProperties(),
                                  JGroupsUtil.getDataStackProperties(),

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeWithDefaultRouterTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeWithDefaultRouterTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeWithDefaultRouterTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -34,7 +34,7 @@
 import org.jboss.messaging.core.plugin.postoffice.cluster.NullMessagePullPolicy;
 import org.jboss.test.messaging.core.SimpleFilterFactory;
 import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.core.plugin.base.ClusteringTestBase;
+import org.jboss.test.messaging.core.plugin.base.PostOfficeTestBase;
 
 import EDU.oswego.cs.dl.util.concurrent.QueuedExecutor;
 
@@ -48,7 +48,7 @@
  * $Id$
  *
  */
-public class DefaultClusteredPostOfficeWithDefaultRouterTest extends ClusteringTestBase
+public class DefaultClusteredPostOfficeWithDefaultRouterTest extends PostOfficeTestBase
 {
    // Constants -----------------------------------------------------
 
@@ -380,7 +380,7 @@
       
       DefaultClusteredPostOffice postOffice = 
          new DefaultClusteredPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                                 null, true, nodeId, "Clustered", ms, pm, tr, ff, pool,
+                                 sc.getClusteredPostOfficeSQLProperties(), true, nodeId, "Clustered", ms, pm, tr, ff, pool,
                                  groupName,
                                  JGroupsUtil.getControlStackProperties(),
                                  JGroupsUtil.getDataStackProperties(),

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -47,7 +47,7 @@
 import org.jboss.messaging.core.tx.Transaction;
 import org.jboss.test.messaging.core.SimpleFilterFactory;
 import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.core.plugin.base.ClusteringTestBase;
+import org.jboss.test.messaging.core.plugin.base.PostOfficeTestBase;
 import org.jboss.test.messaging.util.CoreMessageFactory;
 
 /**
@@ -60,7 +60,7 @@
  * $Id$
  *
  */
-public class DefaultRouterTest extends ClusteringTestBase
+public class DefaultRouterTest extends PostOfficeTestBase
 {
    // Constants -----------------------------------------------------
 
@@ -355,7 +355,7 @@
       
       DefaultClusteredPostOffice postOffice = 
          new DefaultClusteredPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                                 null, true, nodeId, "Clustered", ms, pm, tr, ff, pool,
+                                 sc.getClusteredPostOfficeSQLProperties(), true, nodeId, "Clustered", ms, pm, tr, ff, pool,
                                  groupName,
                                  JGroupsUtil.getControlStackProperties(),
                                  JGroupsUtil.getDataStackProperties(),

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RecoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RecoveryTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RecoveryTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -38,7 +38,7 @@
 import org.jboss.messaging.core.tx.TransactionException;
 import org.jboss.test.messaging.core.SimpleFilterFactory;
 import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.core.plugin.base.ClusteringTestBase;
+import org.jboss.test.messaging.core.plugin.base.PostOfficeTestBase;
 import org.jboss.test.messaging.util.CoreMessageFactory;
 
 import EDU.oswego.cs.dl.util.concurrent.QueuedExecutor;
@@ -53,7 +53,7 @@
  * $Id$
  *
  */
-public class RecoveryTest extends ClusteringTestBase
+public class RecoveryTest extends PostOfficeTestBase
 {
    // Constants -----------------------------------------------------
 
@@ -357,7 +357,7 @@
       
       DefaultClusteredPostOffice postOffice = 
          new DefaultClusteredPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                                 null, true, nodeId, "Clustered", ms, pm, tr, ff, pool,
+                                 sc.getClusteredPostOfficeSQLProperties(), true, nodeId, "Clustered", ms, pm, tr, ff, pool,
                                  groupName,
                                  JGroupsUtil.getControlStackProperties(),
                                  JGroupsUtil.getDataStackProperties(),

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -44,7 +44,7 @@
 import org.jboss.messaging.core.tx.Transaction;
 import org.jboss.test.messaging.core.SimpleFilterFactory;
 import org.jboss.test.messaging.core.SimpleReceiver;
-import org.jboss.test.messaging.core.plugin.base.ClusteringTestBase;
+import org.jboss.test.messaging.core.plugin.base.PostOfficeTestBase;
 import org.jboss.test.messaging.util.CoreMessageFactory;
 
 import EDU.oswego.cs.dl.util.concurrent.Executor;
@@ -60,7 +60,7 @@
  * $Id$
  *
  */
-public class RedistributionWithDefaultMessagePullPolicyTest extends ClusteringTestBase
+public class RedistributionWithDefaultMessagePullPolicyTest extends PostOfficeTestBase
 {
    // Constants -----------------------------------------------------
 
@@ -1148,7 +1148,7 @@
       
       DefaultClusteredPostOffice postOffice = 
          new DefaultClusteredPostOffice(sc.getDataSource(), sc.getTransactionManager(),
-                                 null, true, nodeId, "Clustered", ms, pm, tr, ff, pool,
+                                 sc.getClusteredPostOfficeSQLProperties(), true, nodeId, "Clustered", ms, pm, tr, ff, pool,
                                  groupName,
                                  JGroupsUtil.getControlStackProperties(),
                                  JGroupsUtil.getDataStackProperties(),

Modified: trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualClusteringTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualClusteringTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualClusteringTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -19,7 +19,7 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
-package org.jboss.test.messaging.jms;
+package org.jboss.test.messaging.jms.manual;
 
 import java.util.Properties;
 

Modified: trunk/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/jms/persistence/MessagePersistenceManagerTest.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -72,8 +72,9 @@
    protected JDBCPersistenceManager createPM(boolean batch, int maxParams) throws Throwable
    {      
       JDBCPersistenceManager p =
-         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(), null,
-                                    true, batch, true, maxParams);      
+         new JDBCPersistenceManager(sc.getDataSource(), sc.getTransactionManager(),
+                  sc.getPersistenceManagerSQLProperties(),
+                  true, batch, true, maxParams);      
       p.start();
       return p;
    }

Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java	2006-10-24 03:35:43 UTC (rev 1516)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java	2006-10-25 12:37:33 UTC (rev 1517)
@@ -22,6 +22,7 @@
 package org.jboss.test.messaging.tools.jmx;
 
 
+import java.net.URL;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.Statement;
@@ -32,8 +33,10 @@
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Properties;
 import java.util.Set;
 import java.util.StringTokenizer;
+import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 
 import javax.management.Attribute;
@@ -72,6 +75,7 @@
 import org.jboss.system.ServiceCreator;
 import org.jboss.test.messaging.tools.ServerManagement;
 import org.jboss.test.messaging.tools.jboss.MBeanConfigurationElement;
+import org.jboss.test.messaging.tools.jboss.ServiceDeploymentDescriptor;
 import org.jboss.test.messaging.tools.jndi.InVMInitialContextFactory;
 import org.jboss.test.messaging.tools.jndi.InVMInitialContextFactoryBuilder;
 import org.jboss.tm.TransactionManagerLocator;
@@ -470,6 +474,122 @@
    {
       return mbeanServer.invoke(on, "getInstance", new Object[0], new String[0]);
    }
+   
+   public Properties getPersistenceManagerSQLProperties() throws Exception
+   {
+      String databaseType = getDatabaseType();
+      
+      String persistenceConfigFile =
+         "server/default/deploy/" + databaseType + "-persistence-service.xml";
+      
+      log.info("********* LOADING CONFIG FILE: " + persistenceConfigFile);
+      
+      URL persistenceConfigFileURL = getClass().getClassLoader().getResource(persistenceConfigFile);
+      if (persistenceConfigFileURL == null)
+      {
+         throw new Exception("Cannot find " + persistenceConfigFile + " in the classpath");
+      }
+      
+      ServiceDeploymentDescriptor pdd = new ServiceDeploymentDescriptor(persistenceConfigFileURL);
+      
+      MBeanConfigurationElement persistenceManagerConfig =
+         (MBeanConfigurationElement)pdd.query("service", "PersistenceManager").iterator().next();
+      
+      String props = persistenceManagerConfig.getAttributeValue("SqlProperties");
+      
+      log.info("sql properties are: " + props);
+      
+      if (props != null)
+      {         
+         ByteArrayInputStream is = new ByteArrayInputStream(props.getBytes());
+         
+         Properties sqlProperties = new Properties();
+         
+         sqlProperties.load(is);      
+         
+         return sqlProperties;
+      }
+      else
+      {
+         return null;
+      }
+   }
+   
+   public Properties getPostOfficeSQLProperties() throws Exception
+   {
+      String databaseType = getDatabaseType();
+      
+      String persistenceConfigFile =
+         "server/default/deploy/" + databaseType + "-persistence-service.xml";
+      
+      log.info("********* LOADING CONFIG FILE: " + persistenceConfigFile);
+      
+      URL persistenceConfigFileURL = getClass().getClassLoader().getResource(persistenceConfigFile);
+      if (persistenceConfigFileURL == null)
+      {
+         throw new Exception("Cannot find " + persistenceConfigFile + " in the classpath");
+      }
+      
+      ServiceDeploymentDescriptor pdd = new ServiceDeploymentDescriptor(persistenceConfigFileURL);
+      
+      MBeanConfigurationElement postOfficeConfig =
+         (MBeanConfigurationElement)pdd.query("service", "QueuePostOffice").iterator().next();
+      
+      String props = postOfficeConfig.getAttributeValue("SqlProperties");
+      
+      if (props != null)
+      {         
+         ByteArrayInputStream is = new ByteArrayInputStream(props.getBytes());
+         
+         Properties sqlProperties = new Properties();
+         
+         sqlProperties.load(is);      
+         
+         return sqlProperties;
+      }
+      else
+      {
+         return null;
+      }
+   }
+   
+   public Properties getClusteredPostOfficeSQLProperties() throws Exception
+   {
+      String databaseType = getDatabaseType();
+      
+      String persistenceConfigFile =
+         "server/default/deploy/clustered-" + databaseType + "-persistence-service.xml";
+      
+      log.info("********* LOADING CONFIG FILE: " + persistenceConfigFile);
+      
+      URL persistenceConfigFileURL = getClass().getClassLoader().getResource(persistenceConfigFile);
+      if (persistenceConfigFileURL == null)
+      {
+         throw new Exception("Cannot find " + persistenceConfigFile + " in the classpath");
+      }
+      
+      ServiceDeploymentDescriptor pdd = new ServiceDeploymentDescriptor(persistenceConfigFileURL);
+      
+      MBeanConfigurationElement postOfficeConfig =
+         (MBeanConfigurationElement)pdd.query("service", "QueuePostOffice").iterator().next();
+      
+      String props = postOfficeConfig.getAttributeValue("SqlProperties");
+      
+      if (props != null)
+      {         
+         ByteArrayInputStream is = new ByteArrayInputStream(props.getBytes());
+         
+         Properties sqlProperties = new Properties();
+         
+         sqlProperties.load(is);      
+         
+         return sqlProperties;
+      }
+      else
+      {
+         return null;
+      }
+   }
 
    /**
     * @return Set<ObjectName>
@@ -482,20 +602,8 @@
       }
       return mbeanServer.queryNames(pattern, null);
    }
-
+  
    /**
-    * Note that this method makes no assumption on whether the service was created or started, nor
-    * does it attempt to create/start the service.
-    *
-    * @param service - a Standard/DynamicMBean instance.
-    */
-   public void registerService(Object service, ObjectName on) throws Exception
-   {
-      mbeanServer.registerMBean(service, on);
-      log.debug(service + " registered as " + on);
-   }
-
-   /**
     * Creates and registers a service based on the MBean service descriptor element. Supports
     * XMBeans. The implementing class and the ObjectName are inferred from the mbean element. If
     * there are configuration attributed specified in the deployment descriptor, they are applied
@@ -647,6 +755,18 @@
    // Protected -----------------------------------------------------
 
    // Private -------------------------------------------------------
+   
+   /**
+    * Note that this method makes no assumption on whether the service was created or started, nor
+    * does it attempt to create/start the service.
+    *
+    * @param service - a Standard/DynamicMBean instance.
+    */
+   private void registerService(Object service, ObjectName on) throws Exception
+   {
+      mbeanServer.registerMBean(service, on);
+      log.debug(service + " registered as " + on);
+   }  
 
    private void readConfigurationFile() throws Exception
    {




More information about the jboss-cvs-commits mailing list