[jboss-cvs] JBoss Messaging SVN: r2882 - in trunk: src/main/org/jboss/jms/server/endpoint and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 12 14:22:33 EDT 2007


Author: timfox
Date: 2007-07-12 14:22:33 -0400 (Thu, 12 Jul 2007)
New Revision: 2882

Modified:
   trunk/src/main/org/jboss/jms/client/container/ClientConsumer.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
   trunk/tests/build.xml
Log:
Tidied up thread handling for responses received and pruned tests/build.xml


Modified: trunk/src/main/org/jboss/jms/client/container/ClientConsumer.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/ClientConsumer.java	2007-07-12 11:57:11 UTC (rev 2881)
+++ trunk/src/main/org/jboss/jms/client/container/ClientConsumer.java	2007-07-12 18:22:33 UTC (rev 2882)
@@ -42,7 +42,6 @@
 import org.jboss.messaging.util.prioritylinkedlist.BasicPriorityLinkedList;
 import org.jboss.messaging.util.prioritylinkedlist.PriorityLinkedList;
 
-import EDU.oswego.cs.dl.util.concurrent.LinkedQueue;
 import EDU.oswego.cs.dl.util.concurrent.QueuedExecutor;
 
 /**

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-07-12 11:57:11 UTC (rev 2881)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-07-12 18:22:33 UTC (rev 2882)
@@ -125,7 +125,7 @@
    
    static final String TEMP_QUEUE_MESSAGECOUNTER_PREFIX = "TempQueue.";
    
-   private static final long CLOSE_TIMEOUT = 5 * 1000;
+   private static final long DELIVERY_WAIT_TIMEOUT = 5 * 1000;
       
    // Static ---------------------------------------------------------------------------------------
 
@@ -781,6 +781,236 @@
    {
       return "SessionEndpoint[" + id + "]";
    }
+   
+   public void deliverAnyWaitingDeliveries(String queueName) throws Exception
+   {
+   	//	First deliver any waiting deliveries
+   	
+   	if (trace) { log.trace("Delivering any waiting deliveries: " + queueName); }
+   	
+   	List toAddBack = null;
+   	
+   	while (true)
+   	{
+   		DeliveryRecord dr = (DeliveryRecord)toDeliver.poll(0);
+   		
+   		if (dr == null)
+   		{
+   			break;
+   		}
+   		
+   		if (trace) { log.trace("Considering " + dr); } 
+   		
+   		if (queueName == null || dr.queueName.equals(queueName))
+   		{   		
+   			//Need to synchronized to prevent the delivery being performed twice
+   			synchronized (dr)
+   			{   				
+		   		performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer()); 
+					
+			   	dr.waitingForResponse = false;
+   			}
+   		}
+   		else
+   		{
+   			if (toAddBack == null)
+   			{
+   				toAddBack = new ArrayList();
+   			}
+   			
+   			toAddBack.add(dr);
+   		}
+   	}
+   	
+   	if (toAddBack != null)
+   	{
+   		Iterator iter = toAddBack.iterator();
+   		
+   		while (iter.hasNext())
+   		{
+   			toDeliver.put(iter.next());
+   		}
+   	}
+   	
+   	if (trace) { log.trace("Done delivering"); }
+   }
+   
+   public boolean collectDeliveries(Map map, boolean firstNode, String queueName) throws Exception
+   {
+   	if (trace) { log.trace("Collecting deliveries"); }
+   	
+   	boolean gotSome = false;
+   	   	
+   	if (!firstNode)
+   	{	   	
+	   	if (trace) { log.trace("Now collecting"); }
+	   	   	
+	   	Iterator iter = deliveries.entrySet().iterator();
+	   	
+	   	while (iter.hasNext())
+	   	{
+	   		Map.Entry entry = (Map.Entry)iter.next();
+	   		
+	   		Long l = (Long)entry.getKey();
+	   		
+	   		long deliveryID = l.longValue();
+	   		
+	   		DeliveryRecord rec = (DeliveryRecord)entry.getValue();
+	   		
+	   		if (rec.replicating && (queueName == null || rec.queueName.equals(queueName)))
+	   		{
+	   			Map ids = (Map)map.get(rec.queueName);
+	   			
+	   			if (ids == null)
+	   			{
+	   				ids = new HashMap();
+	   				
+	   				map.put(rec.queueName, ids);
+	   			}
+	   			
+	   			ids.put(new Long(rec.del.getReference().getMessage().getMessageID()), id);
+	   			
+	   			gotSome = true;
+	   			
+	   			boolean notify = false;
+	   			
+	   			//Need to synchronize to prevent delivery occurring more than once - e.g.
+	   			//if replicateDeliveryResponseReceived occurs curently with this
+	   			synchronized (rec)
+	   			{
+		   			if (rec.waitingForResponse)
+		   			{
+		   				//Do the delivery now
+		   				
+		   				performDelivery(rec.del.getReference(), deliveryID, rec.getConsumer());   	   	
+		   		   	
+		   		   	rec.waitingForResponse = false;
+		   		   	
+		   		   	notify = true;
+		   			}
+	   			}
+	   		   	
+	   			if (notify)
+	   			{
+	   		   	synchronized (deliveryLock)
+	   		   	{
+	   		   		deliveryLock.notifyAll();
+	   		   	}   					   			
+	   			}
+	   		}
+	   	}
+   	}
+   	
+   	if (trace) { log.trace("Collected " + map.size() + " deliveries"); }
+   	
+   	return gotSome;
+   }
+      
+   private Object myLock = new Object();
+   
+   public void replicateDeliveryResponseReceived(long deliveryID) throws Exception
+   {
+   	//We look up the delivery in the list and actually perform the delivery
+   	
+   	if (trace) { log.trace(this + " replicate delivery response received for delivery " + deliveryID); }
+   	
+   	DeliveryRecord rec = (DeliveryRecord)deliveries.get(new Long(deliveryID));
+   	
+   	if (rec == null)
+   	{
+   		throw new java.lang.IllegalStateException("Cannot find delivery with id " + deliveryID);
+   	}
+   	   	
+   	boolean delivered = false;
+   	
+   	//Note there will only be contention on this if two or more responses come back at the same time - which is unlikely
+   	//Is it even possible? If the responses come back on the same JGroups channel - surely this can't happen - maybe
+   	//we can remove the lock?
+   	//Anyway there is little overhead if the lock is not contended
+   	synchronized (myLock)
+   	{
+   		long toWait = DELIVERY_WAIT_TIMEOUT;
+   		
+   		while (toWait > 0)
+      	{
+      		DeliveryRecord dr = (DeliveryRecord)toDeliver.peek();
+      		
+      		if (dr == null)
+      		{
+      			//Response came back after deliveries collected? - Do nothing
+      			break;
+      		}
+      		
+      		boolean wait = false;
+      		
+      		//Needs to be synchronized to prevent delivery occurring twice e.g. if this occurs at same time as collectDeliveries
+      		synchronized (dr)
+      		{	   		
+   	   		boolean performDelivery = false;
+   	   		
+   	   		if (dr.waitingForResponse)
+   	   		{
+   	   			if (dr == rec)
+   	   			{
+   	   				performDelivery = true;
+   	   			}
+   	   			else
+   	   			{
+   	   				//We have to wait for another response to arrive first
+   	   				wait = true;
+   	   			}
+   	   		}
+   	   		else
+   	   		{
+   	   			//Non replicated delivery
+   	   			performDelivery = true;
+   	   		}
+   	   		
+   	   		if (performDelivery)
+   	   		{
+   	   			toDeliver.take();
+   	   			
+   	   			performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer()); 
+   	   			
+   	   			delivered = true;
+   	   	   	
+   	   	   	dr.waitingForResponse = false;
+   	   	   	
+   	   	   	myLock.notify();
+   	   	   	
+   	   	   	break;
+   	   		}
+      		}
+      		
+      		if (wait)
+      		{
+   				long start = System.currentTimeMillis();
+   				
+      			try
+      			{
+      				//We need to wait since responses have come back out of order
+      				myLock.wait(toWait);
+      			}
+      			catch (InterruptedException e)
+      			{      				
+      			}
+      			toWait -= (System.currentTimeMillis() - start);
+      		}      		
+      	}
+   		if (toWait <= 0)
+   		{
+   			throw new IllegalStateException("Timed out waiting for previous response to arrive");
+   		}
+   	}   	   	
+   	
+   	if (delivered)
+   	{
+	   	synchronized (deliveryLock)
+	   	{
+	   		deliveryLock.notifyAll();
+	   	}
+   	}
+   }
 
    // Package protected ----------------------------------------------------------------------------
    
@@ -933,185 +1163,8 @@
       }
       
       rec.del.cancel();
-   }
+   }      
    
-   public void deliverAnyWaitingDeliveries(String queueName) throws Exception
-   {
-   	//	First deliver any waiting deliveries
-   	
-   	if (trace) { log.trace("Delivering any waiting deliveries: " + queueName); }
-   	
-   	List toAddBack = null;
-   	
-   	while (true)
-   	{
-   		DeliveryRecord dr = (DeliveryRecord)toDeliver.poll(0);
-   		
-   		if (dr == null)
-   		{
-   			break;
-   		}
-   		
-   		if (trace) { log.trace("Considering " + dr); } 
-   		
-   		if (queueName == null || dr.queueName.equals(queueName))
-   		{   		
-	   		performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer()); 
-				
-		   	dr.waitingForResponse = false;
-   		}
-   		else
-   		{
-   			if (toAddBack == null)
-   			{
-   				toAddBack = new ArrayList();
-   			}
-   			
-   			toAddBack.add(dr);
-   		}
-   	}
-   	
-   	if (toAddBack != null)
-   	{
-   		Iterator iter = toAddBack.iterator();
-   		
-   		while (iter.hasNext())
-   		{
-   			toDeliver.put(iter.next());
-   		}
-   	}
-   	
-   	if (trace) { log.trace("Done delivering"); }
-   }
-   
-   public boolean collectDeliveries(Map map, boolean firstNode, String queueName) throws Exception
-   {
-   	if (trace) { log.trace("Collecting deliveries"); }
-   	
-   	boolean gotSome = false;
-   	   	
-   	if (!firstNode)
-   	{	   	
-	   	if (trace) { log.trace("Now collecting"); }
-	   	   	
-	   	Iterator iter = deliveries.entrySet().iterator();
-	   	
-	   	while (iter.hasNext())
-	   	{
-	   		Map.Entry entry = (Map.Entry)iter.next();
-	   		
-	   		Long l = (Long)entry.getKey();
-	   		
-	   		long deliveryID = l.longValue();
-	   		
-	   		DeliveryRecord rec = (DeliveryRecord)entry.getValue();
-	   		
-	   		if (rec.replicating && (queueName == null || rec.queueName.equals(queueName)))
-	   		{
-	   			Map ids = (Map)map.get(rec.queueName);
-	   			
-	   			if (ids == null)
-	   			{
-	   				ids = new HashMap();
-	   				
-	   				map.put(rec.queueName, ids);
-	   			}
-	   			
-	   			ids.put(new Long(rec.del.getReference().getMessage().getMessageID()), id);
-	   			
-	   			gotSome = true;
-	   			
-	   			if (rec.waitingForResponse)
-	   			{
-	   				//Do the delivery now
-	   				
-	   				performDelivery(rec.del.getReference(), deliveryID, rec.getConsumer());   	   	
-	   		   	
-	   		   	rec.waitingForResponse = false;
-	   		   	
-	   		   	synchronized (deliveryLock)
-	   		   	{
-	   		   		deliveryLock.notifyAll();
-	   		   	}   				
-	   			}
-	   		}
-	   	}
-   	}
-   	
-   	if (trace) { log.trace("Collected " + map.size() + " deliveries"); }
-   	
-   	return gotSome;
-   }
-   
-   public synchronized void replicateDeliveryResponseReceived(long deliveryID) throws Exception
-   {
-   	//We look up the delivery in the list and actually perform the delivery
-   	
-   	if (trace) { log.trace(this + " replicate delivery response received for delivery " + deliveryID); }
-   	
-   	DeliveryRecord rec = (DeliveryRecord)deliveries.get(new Long(deliveryID));
-   	
-   	if (rec == null)
-   	{
-   		throw new java.lang.IllegalStateException("Cannot find delivery with id " + deliveryID);
-   	}
-   	   	
-   	boolean delivered = false;
-   	
-   	//FIXME there is a race condition here
-   	//Message is peeked - is NP, then by the time it is actually taken
-   	//Another thread has peeked and taken it, so the first thread takes the next one
-   	//which is a persistent message which should remain in the list
-   	
-   	while (true)
-   	{
-   		DeliveryRecord dr = (DeliveryRecord)toDeliver.peek();
-   		
-   		if (dr == null)
-   		{
-   			break;
-   		}
-   		
-   		boolean performDelivery = false;
-   		
-   		if (dr.waitingForResponse)
-   		{
-   			if (dr == rec)
-   			{
-   				performDelivery = true;
-   			}
-   			else
-   			{
-   				break;
-   			}
-   		}
-   		else
-   		{
-   			//NP message
-   			performDelivery = true;
-   		}
-   		
-   		if (performDelivery)
-   		{
-   			toDeliver.take();
-   			
-   			performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer()); 
-   			
-   			delivered = true;
-   	   	
-   	   	dr.waitingForResponse = false;
-   		}
-   	}
-   	
-   	if (delivered)
-   	{
-	   	synchronized (deliveryLock)
-	   	{
-	   		deliveryLock.notifyAll();
-	   	}
-   	}
-   }
-   
    /*
     * When a consumer closes there may be deliveries where the replication messages has gone out to the backup
     * but the response hasn't been received yet so the messages hasn't actually been delivered.
@@ -1120,7 +1173,7 @@
     */
    void waitForDeliveriesFromConsumer(String consumerID) throws Exception
    {   
-		long toWait = CLOSE_TIMEOUT;
+		long toWait = DELIVERY_WAIT_TIMEOUT;
 		
 		boolean wait;
 		
@@ -1173,7 +1226,7 @@
    	}
    }
    
-   synchronized void handleDelivery(Delivery delivery, ServerConsumerEndpoint consumer) throws Exception
+   void handleDelivery(Delivery delivery, ServerConsumerEndpoint consumer) throws Exception
    {
    	 long deliveryId = -1;
    	 

Modified: trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java	2007-07-12 11:57:11 UTC (rev 2881)
+++ trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java	2007-07-12 18:22:33 UTC (rev 2882)
@@ -85,7 +85,6 @@
 import EDU.oswego.cs.dl.util.concurrent.PooledExecutor;
 import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
 import EDU.oswego.cs.dl.util.concurrent.ReentrantWriterPreferenceReadWriteLock;
-import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock;
 
 /**
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
@@ -219,8 +218,6 @@
    
    private volatile int failoverNodeID = -1;
    
-   private ReadWriteLock replicateDeliveryLock;
-   
    private volatile boolean firstNode;
    
    // Constructors ---------------------------------------------------------------------------------
@@ -266,9 +263,7 @@
       this.clusterNotifier = clusterNotifier;
 
       lock = new ReentrantWriterPreferenceReadWriteLock();
-      
-      replicateDeliveryLock = new WriterPreferenceReadWriteLock();
-      
+       
       waitForBindUnbindLock = new Object();
    }
    
@@ -1286,30 +1281,18 @@
    public void handleReplicateDeliveryAck(String sessionID, long deliveryID) throws Exception
    {
    	if (trace) { log.trace(this + " handleReplicateDeliveryAck " + sessionID + " " + deliveryID); }
+   	  	
+   	//TOD - this does not belong here
+   	ServerSessionEndpoint session = serverPeer.getSession(sessionID);
    	
-   	//We need to lock this while failover node change is occurring - otherwise we could end up with the same message
-   	//being delivered more than once
-   	
-   	replicateDeliveryLock.readLock().acquire();
-   	
-   	try
-   	{	   	
-	   	//TOD - this does not belong here
-	   	ServerSessionEndpoint session = serverPeer.getSession(sessionID);
-	   	
-	   	if (session == null)
-	   	{
-	   		log.warn("Cannot find session " + sessionID);
-	   		
-	   		return;
-	   	}
-	   	
-	   	session.replicateDeliveryResponseReceived(deliveryID);
-   	}
-   	finally
+   	if (session == null)
    	{
-   		replicateDeliveryLock.readLock().release();
+   		log.warn("Cannot find session " + sessionID);
+   		
+   		return;
    	}
+   	
+   	session.replicateDeliveryResponseReceived(deliveryID);
    }
    
    public void handleAckAllReplicatedDeliveries(int nodeID) throws Exception
@@ -2769,57 +2752,48 @@
    	{
 	   	//We must lock any responses to delivery adds coming in in this period - otherwise we could end up with the same
 	   	//message being delivered more than once
-	   	
-	   	replicateDeliveryLock.writeLock().acquire();
-	   	
-	   	try
-	   	{	   	
-		   	if (localNameMap != null)
-		   	{
-		   		Map deliveries = new HashMap();
-		   		
-					//FIXME - this is ugly
-					//Find a better way of getting the sessions
-		   		//We shouldn't know abou the server peer
-		   		
-		   		if (serverPeer != null)
-		   		{
+	   		
+	   	if (localNameMap != null)
+	   	{
+	   		Map deliveries = new HashMap();
+	   		
+				//FIXME - this is ugly
+				//Find a better way of getting the sessions
+	   		//We shouldn't know abou the server peer
+	   		
+	   		if (serverPeer != null)
+	   		{
+					
+					Collection sessions = serverPeer.getSessions();
+					
+					Iterator iter2 = sessions.iterator();
+					
+					while (iter2.hasNext())
+					{
+						ServerSessionEndpoint session = (ServerSessionEndpoint)iter2.next();
 						
-						Collection sessions = serverPeer.getSessions();
+						session.deliverAnyWaitingDeliveries(null);
 						
-						Iterator iter2 = sessions.iterator();
+						session.collectDeliveries(deliveries, firstNode, null);				
+					}   				  
+					
+					if (!firstNode)
+					{			
+			   		PostOfficeAddressInfo info = (PostOfficeAddressInfo)nodeIDAddressMap.get(new Integer(failoverNodeID));
+			   		
+			   		if (info == null)
+			   		{
+			   			throw new IllegalStateException("Cannot find address for failover node " + failoverNodeID);
+			   		}		   		
 						
-						while (iter2.hasNext())
-						{
-							ServerSessionEndpoint session = (ServerSessionEndpoint)iter2.next();
-							
-							session.deliverAnyWaitingDeliveries(null);
-							
-							session.collectDeliveries(deliveries, firstNode, null);				
-						}   				  
+						ClusterRequest request = new AddAllReplicatedDeliveriesMessage(thisNodeID, deliveries);
 						
-						if (!firstNode)
-						{			
-				   		PostOfficeAddressInfo info = (PostOfficeAddressInfo)nodeIDAddressMap.get(new Integer(failoverNodeID));
-				   		
-				   		if (info == null)
-				   		{
-				   			throw new IllegalStateException("Cannot find address for failover node " + failoverNodeID);
-				   		}		   		
-							
-							ClusterRequest request = new AddAllReplicatedDeliveriesMessage(thisNodeID, deliveries);
-							
-							groupMember.unicastControl(request, info.getControlChannelAddress(), false);
-				   		
-				   		if (trace) { log.trace("Sent AddAllReplicatedDeliveriesMessage"); }
-						}
-		   		}
-		   	}
-	   	}
-	   	finally
-	   	{
-	   		replicateDeliveryLock.writeLock().release();
-	   	}   	
+						groupMember.unicastControl(request, info.getControlChannelAddress(), false);
+			   		
+			   		if (trace) { log.trace("Sent AddAllReplicatedDeliveriesMessage"); }
+					}
+	   		}
+	   	}  	
    	}
    }
    

Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml	2007-07-12 11:57:11 UTC (rev 2881)
+++ trunk/tests/build.xml	2007-07-12 18:22:33 UTC (rev 2882)
@@ -106,9 +106,10 @@
    <property name="junit.haltonfailure" value="false"/>
    <property name="junit.fork" value="true"/>
    <property name="junit.includeantruntime" value="true"/>
-   <property name="junit.timeout" value="1200000"/>
-   <property name="clustering.junit.timeout" value="1200000"/>
-   <property name="stress.timeout" value="1200000"/>
+   <property name="junit.timeout" value="900000"/>             <!-- 15 mins --> 
+   <property name="clustering.junit.timeout" value="1200000"/> <!-- 20 mins -->
+   <property name="stress.junit.timeout" value="900000"/>      <!-- 15 mins -->
+   <property name="bridge.junit.timeout" value="5400000"/>     <!-- 90 mins -->
 
    <property name="junit.showoutput" value="true"/>
    <property name="junit.jvm" value=""/>
@@ -260,48 +261,7 @@
          <classpath refid="test.execution.classpath"/>
       </java>
    </target>
-
-   <!-- Starts an all config already when starting the rmi server (used on crash tests) -->
-   <target name="start-rmi-server-with-allconfig" depends="init"
-           description="Starts an all config already when starting the rmi server (used on crash tests)">
-
-      <java classname="org.jboss.test.messaging.tools.jmx.rmi.RMITestServer" fork="true" spawn="true">
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.logfile.suffix" value="${remote.server.test.logfile.suffix}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <sysproperty key="test.remoting" value="${test.remoting}"/>
-         <sysproperty key="java.net.preferIPv4Stack" value="true"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=rmiserver"/>
-         -->
-         <arg value="-startAll"/>
-         <classpath refid="test.execution.classpath"/>
-      </java>
-   </target>
-
-   <target name="start-rmi-server-clustering" depends="init"
-           description="Starts the RMI server used by clustering tests">
-
-      <java classname="org.jboss.test.messaging.tools.jmx.rmi.RMITestServer" fork="true" spawn="true">
-         <sysproperty key="test.server.index" value="${test.server.index}"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.logfile.suffix" value="clustering-server${test.server.index}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${clustering.tests.database}"/>
-         <sysproperty key="test.clustered" value="true"/>
-         <sysproperty key="java.net.preferIPv4Stack" value="true"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=rmiserver"/>
-         -->
-         <classpath refid="test.execution.classpath"/>
-      </java>
-   </target>
-
+  
    <target name="start-rmi-server-stress" depends="init"
            description="Starts the RMI server used by remote stress tests">
 
@@ -345,6 +305,7 @@
 
    <target name="tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
       <antcall target="crash-tests"/>
+
       <antcall target="invm-tests"/>
       <!--
            default remoting configuration (bisocket)
@@ -361,6 +322,8 @@
 
       <antcall target="clustering-tests"/>
 
+      <antcall target="bridge-tests"/>
+
    </target>
 
    <target name="http-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
@@ -369,21 +332,6 @@
       </antcall>
    </target>
 
-   <target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-      <antcall target="invm-stress-tests"/>
-      <antcall target="remote-stress-tests"/> <!-- default remoting configuration (bisocket) -->
-
-
-      <!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
-
-      <antcall target="remote-stress-tests">
-         <param name="test.remoting" value="http"/>
-      </antcall>
-
-      -->
-
-   </target>
-
    <target name="invm-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
            description="Runs all available tests an in-VM configuration">
 
@@ -441,134 +389,6 @@
       </junit>
    </target>
 
-   <target name="local-jms-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs all available tests an in-VM configuration">
-
-      <echo message=""/>
-      <echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}"/>
-      <echo message=""/>
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
-
-         <sysproperty key="remote" value="false"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <sysproperty key="test.logfile.suffix" value="invm"/>
-         <sysproperty key="build.lib" value="${build.lib}"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <jvmarg value="-Xmx512M"/>
-         <!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-         <classpath refid="test.execution.classpath"/>
-         <formatter type="xml" usefile="${junit.formatter.usefile}"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/messaging/jms/**/*Test.class"/>
-               <exclude name="**/messaging/graveyard/**/*Test.class"/>
-               <exclude name="**/jms/LongRunningInvocationTest.class"/>
-               <exclude name="**/jms/stress/**"/>
-               <exclude name="**/jms/crash/*Test.class"/>
-               <exclude name="**/*LeakTest.class"/>
-               <exclude name="**/jms/bridge/**/*Test.class"/>
-               <exclude name="**/jms/manual/**/*Test.class"/>
-               <exclude name="**/jms/clustering/*Test.class"/>
-               <exclude name="**/jms/RemotingConnectionConfigurationTest.class"/>
-            </fileset>
-         </batchtest>
-      </junit>
-   </target>
-
-   <target name="ref-test" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs all available tests an in-VM configuration">
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
-
-         <sysproperty key="remote" value="false"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <sysproperty key="build.lib" value="${build.lib}"/>
-         <jvmarg value="-Xmx512M"/>
-         <!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-         <classpath refid="test.execution.classpath"/>
-         <formatter type="xml" usefile="${junit.formatter.usefile}"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/messaging/jms/ReferenceableTest.class"/>
-               <exclude name="**/messaging/graveyard/**/*Test.class"/>
-               <exclude name="**/jms/stress/**"/>
-               <exclude name="**/jms/crash/*Test.class"/>
-               <exclude name="**/*LeakTest.class"/>
-               <exclude name="**/jms/clustering/*Test.class"/>
-            </fileset>
-         </batchtest>
-      </junit>
-   </target>
-
-   <target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs all stress tests in an in-VM configuration">
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${stress.timeout}">
-
-         <sysproperty key="remote" value="false"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${stress.tests.database}"/>
-         <sysproperty key="test.logfile.suffix" value="invm"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <jvmarg value="-Xmx512M"/>
-         <!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-         <classpath refid="stress.test.execution.classpath"/>
-         <sysproperty key="jboss-junit-configuration" value="StressInVM"/>
-         <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
-                    usefile="${junit.formatter.usefile}" extension="-StressInVM.xml"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/jms/stress/*Test.class"/>
-            </fileset>
-         </batchtest>
-      </junit>
-   </target>
-
    <target name="remote-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
            description="Runs remotely all tests for which it makes sense to run remotely">
 
@@ -624,6 +444,7 @@
             <fileset dir="${build.tests.classes}">
                <include name="**/jms/**/${test-mask}.class"/>
                <include name="**/thirdparty/**/${test-mask}.class"/>
+               <exclude name="**/jms/bridge/**/*Test.class"/>
                <exclude name="**/messaging/graveyard/**/*Test.class"/>
                <exclude name="**/jms/WireFormatTest.class"/>
                <exclude name="**/jms/stress/**"/>
@@ -638,7 +459,7 @@
                <exclude name="**/jms/manual/**/*Test.class"/>
                <exclude name="**/jms/clustering/*Test.class"/>
                <exclude name="**/thirdparty/remoting/ServerAddressTest.class"/>
-               <exclude name="org/jboss/test/thirdparty/jbosssx/SecurityAssociationTest.class"/>
+               <exclude name="**/thirdparty/jbosssx/SecurityAssociationTest.class"/>
             </fileset>
          </batchtest>
       </junit>
@@ -646,7 +467,58 @@
       <antcall target="stop-rmi-server"/>
 
    </target>
+  
+   <target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+      <antcall target="invm-stress-tests"/>
+      <antcall target="remote-stress-tests"/> <!-- default remoting configuration (bisocket) -->
 
+
+      <!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+      <antcall target="remote-stress-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+      -->
+
+   </target>
+
+   <target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
+           description="Runs all stress tests in an in-VM configuration">
+
+      <junit printsummary="${junit.printsummary}"
+             fork="${junit.fork}"
+             includeantruntime="${junit.includeantruntime}"
+             haltonerror="${junit.haltonerror}"
+             haltonfailure="${junit.haltonfailure}"
+             showoutput="${junit.showoutput}"
+             timeout="${stress.junit.timeout}">
+
+         <sysproperty key="remote" value="false"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${stress.tests.database}"/>
+         <sysproperty key="test.logfile.suffix" value="invm"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+         <classpath refid="stress.test.execution.classpath"/>
+         <sysproperty key="jboss-junit-configuration" value="StressInVM"/>
+         <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
+                    usefile="${junit.formatter.usefile}" extension="-StressInVM.xml"/>
+         <batchtest fork="${junit.batchtest.fork}"
+                    todir="${junit.batchtest.todir}"
+                    haltonfailure="${junit.batchtest.haltonfailure}"
+                    haltonerror="${junit.batchtest.haltonerror}">
+            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
+            <fileset dir="${build.tests.classes}">
+               <include name="**/jms/stress/*Test.class"/>
+            </fileset>
+         </batchtest>
+      </junit>
+   </target>   
+
    <target name="remote-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
            description="Runs remotely all stress tests for which it makes sense to run remotely">
 
@@ -660,7 +532,7 @@
              haltonerror="${junit.haltonerror}"
              haltonfailure="${junit.haltonfailure}"
              showoutput="${junit.showoutput}"
-             timeout="${stress.timeout}">
+             timeout="${stress.junit.timeout}">
 
          <sysproperty key="remote" value="true"/>
          <sysproperty key="module.output" value="${tests.output}"/>
@@ -698,20 +570,12 @@
    <target name="clustering-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
            description="Runs the clustering tests">
 
-
       <mkdir dir="${build.tests.reports}"/>
 
       <echo message=""/>
       <echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}"/>
       <echo message=""/>
 
-      <!--
-
-           By default, clustered tests are run in a "remote" configuration (the clustered
-           nodes physically live in different VMs. If you want to test a co-located clustered
-           configuration, use bin/runtest -clustered
-      -->
-
       <junit printsummary="${junit.printsummary}"
              fork="${junit.fork}"
              includeantruntime="yes"
@@ -762,51 +626,45 @@
       </junit>
    </target>
    
-   <target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs the bridge tests">
+ <target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
+           description="Runs bridge tests">
 
+      <antcall target="stop-rmi-server"/>
+      <antcall target="start-rmi-server"/>
 
       <mkdir dir="${build.tests.reports}"/>
 
       <echo message=""/>
-      <echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}"/>
+      <echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}"/>
       <echo message=""/>
 
-      <!--
-
-           By default, bridge tests are run in a "remote" configuration (the clustered
-           nodes physically live in different VMs.
-      -->
-
       <junit printsummary="${junit.printsummary}"
              fork="${junit.fork}"
              includeantruntime="yes"
              haltonerror="${junit.haltonerror}"
              haltonfailure="${junit.haltonfailure}"
              showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
+             timeout="${bridge.junit.timeout}">
 
          <sysproperty key="remote" value="true"/>
          <sysproperty key="module.output" value="${tests.output}"/>
          <sysproperty key="test.bind.address" value="${test.bind.address}"/>
          <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${clustering.tests.database}"/>
-         <sysproperty key="test.clustered" value="false"/>
-         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="test.database" value="${functional.tests.database}"/>
+         <sysproperty key="test.remoting" value="${test.remoting}"/>
+         <sysproperty key="test.logfile.suffix" value="remote-client"/>
          <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
          <jvmarg value="-Xmx512M"/>
-         <jvmarg value="-Djava.net.preferIPv4Stack=true"/>
          <!--
-         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-          -->
-
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
          <classpath>
             <path refid="test.execution.classpath"/>
          </classpath>
 
-         <sysproperty key="jboss-junit-configuration" value="Clustering"/>
+         <sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}"/>
          <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
-                    usefile="${junit.formatter.usefile}" extension="-Clustering.xml"/>
+                    usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml"/>
 
          <batchtest fork="${junit.batchtest.fork}"
                     todir="${junit.batchtest.todir}"
@@ -818,13 +676,16 @@
                  perform clean-up, and this is it: register a JUnitTestSuiteListener as a JUnit
                  batchtest formatter, and it will get notified on a endTestSuite() event.
             -->
-            <formatter classname="org.jboss.test.messaging.tools.ant.JUnitTestSuiteListener"/>
+           <formatter classname="org.jboss.test.messaging.tools.ant.JUnitTestSuiteListener"/>
 
-            <fileset dir="${build.tests.classes}">
-               <include name="**/jms/bridge/${test-mask}.class"/>
-            </fileset>
+           <fileset dir="${build.tests.classes}">
+               <include name="**/jms/bridge/**/*Test.class"/>              
+           </fileset>
          </batchtest>
       </junit>
+
+      <antcall target="stop-rmi-server"/>
+
    </target>
 
    <target name="memory-leak-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
@@ -1036,7 +897,6 @@
 
    </target>
 
-
    <target name="crash-test" depends="init" description="Runs crash test">
 
       <junit printsummary="${junit.printsummary}"
@@ -1077,114 +937,6 @@
 
    </target>
 
-
-   <target name="jmstests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs the jms tests only">
-
-      <antcall target="start-rmi-server"/>
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
-         <sysproperty key="remote" value="${build.tests.remote}"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <jvmarg value="-Xmx512M"/>
-         <classpath refid="test.execution.classpath"/>
-         <formatter type="xml" usefile="${junit.formatter.usefile}"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/messaging/jms/**/*Test.class"/>
-               <exclude name="**/messaging/graveyard/**/*Test.class"/>
-               <exclude name="**/jms/stress/**"/>
-               <exclude name="org/jboss/test/messaging/jms/ManifestTest.class"/>
-               <exclude name="**/jms/clustering/*Test.class"/>
-            </fileset>
-         </batchtest>
-      </junit>
-
-      <antcall target="stop-rmi-server"/>
-
-   </target>
-
-   <target name="messagetests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs the jms tests only">
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
-         <sysproperty key="remote" value="${build.tests.remote}"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <jvmarg value="-Xmx512M"/>
-         <classpath refid="test.execution.classpath"/>
-         <formatter type="xml" usefile="${junit.formatter.usefile}"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/messaging/jms/message/**/*Test.class"/>
-            </fileset>
-         </batchtest>
-      </junit>
-
-      <antcall target="stop-rmi-server"/>
-
-   </target>
-
-   <target name="coretests" depends="tests-jar, prepare-testdirs, clear-test-logs"
-           description="Runs the jms tests only">
-
-      <junit printsummary="${junit.printsummary}"
-             fork="${junit.fork}"
-             includeantruntime="${junit.includeantruntime}"
-             haltonerror="${junit.haltonerror}"
-             haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${junit.timeout}">
-         <sysproperty key="remote" value="${build.tests.remote}"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${functional.tests.database}"/>
-         <jvmarg value="-Xmx512M"/>
-         <classpath refid="test.execution.classpath"/>
-         <formatter type="xml" usefile="${junit.formatter.usefile}"/>
-         <batchtest fork="${junit.batchtest.fork}"
-                    todir="${junit.batchtest.todir}"
-                    haltonfailure="${junit.batchtest.haltonfailure}"
-                    haltonerror="${junit.batchtest.haltonerror}">
-            <formatter type="plain" usefile="${junit.formatter.usefile}"/>
-            <fileset dir="${build.tests.classes}">
-               <include name="**/messaging/**/*Test.class"/>
-               <exclude name="**/messaging/graveyard/**/*Test.class"/>
-               <exclude name="**/messaging/jms/**"/>
-            </fileset>
-         </batchtest>
-      </junit>
-      <antcall target="stop-rmi-server"/>
-   </target>
-
    <target name="test" depends="tests-jar, prepare-testdirs, clear-test-logs"
            description="Runs a single test, specified by its FQ class name via 'test.classname'">
 
@@ -1248,17 +1000,9 @@
    </target>
 
    <target name="report" depends="tests, copy-stylesheets, compile-report"/>
+ 
+   <target name="stress-report" depends="stress-tests, copy-stylesheets, compile-report"/>
 
-   <target name="remote-tests-report" depends="remote-tests, copy-stylesheets, compile-report"/>
-
-   <target name="jmsreport" depends="jmstests, copy-stylesheets, compile-report"/>
-
-   <target name="messagereport" depends="messagetests, copy-stylesheets, compile-report"/>
-
-   <target name="corereport" depends="coretests, copy-stylesheets, compile-report"/>
-
-   <target name="stressreport" depends="stress-tests, copy-stylesheets, compile-report"/>
-
    <target name="functional-tests" depends="tests"/>
 
    <!-- ======================================================================================== -->
@@ -1287,39 +1031,5 @@
       <echo message="${test.execution.classpath.unix}" file="${test.execution.classpath.file}"/>
    </target>
 
-   <!-- ======================================================================================== -->
-   <!-- Miscellaneous                                                                            -->
-   <!-- ======================================================================================== -->
-
-   <target name="tests-ejb-jar"
-           depends="compile"
-           description="Creates the ejb jar file containing the test ejb and mdb for testing jms from within a managed environment">
-
-      <mkdir dir="${build.tests.lib}"/>
-      <mkdir dir="${build.tests.classes}/META-INF"/>
-      <copy file="${source.tests.java}/org/jboss/test/messaging/jms/managed/META-INF/jboss.xml"
-            tofile="${build.tests.classes}/META-INF/jboss.xml"/>
-      <copy file="${source.tests.java}/org/jboss/test/messaging/jms/managed/META-INF/ejb-jar.xml"
-            tofile="${build.tests.classes}/META-INF/ejb-jar.xml"/>
-      <!-- Build the tests ejb jar -->
-      <jar jarfile="${build.tests.lib}/${build.tests.ejbarchive}">
-         <fileset dir="${build.tests.classes}">
-            <include name="org/jboss/test/messaging/jms/managed/**"/>
-         </fileset>
-         <fileset dir="${build.tests.classes}">
-            <include name="META-INF/**"/>
-         </fileset>
-      </jar>
-   </target>
-
-   <target name="deployejb" depends="tests-ejb-jar">
-      <copy file="${build.tests.lib}/${build.tests.ejbarchive}"
-            todir="${ENV.JBOSS_HOME}/server/default/deploy"/>
-   </target>
-
-   <target name="undeployejb">
-      <delete file="${ENV.JBOSS_HOME}/server/default/deploy/${build.tests.ejbarchive}"/>
-   </target>
-
 </project>
 




More information about the jboss-cvs-commits mailing list