You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jg...@apache.org on 2008/08/05 21:47:16 UTC
svn commit: r682903 - in /activemq/activemq-dotnet:
Apache.NMS.ActiveMQ/trunk/ Apache.NMS.ActiveMQ/trunk/src/main/csharp/
Apache.NMS.ActiveMQ/trunk/src/test/csharp/ Apache.NMS/trunk/src/test/csharp/
Author: jgomes
Date: Tue Aug 5 12:47:15 2008
New Revision: 682903
URL: http://svn.apache.org/viewvc?rev=682903&view=rev
Log:
Refactoring unit tests.
Fixes [AMQNET-92]. (See https://issues.apache.org/activemq/browse/AMQNET-92)
Removed:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/MapMessageTest.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSPropertyTest.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/TestMain.cs
Modified:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/nmsprovider-test.config
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj
activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/ConnectionTest.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/nmsprovider-test.config
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/nmsprovider-test.config?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/nmsprovider-test.config (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/nmsprovider-test.config Tue Aug 5 12:47:15 2008
@@ -17,9 +17,7 @@
-->
<configuration>
<defaultURI value="activemq:tcp://jgomesv1:61616">
- <factoryParams>
- <param type="string" value="NMSTestClient"/>
- </factoryParams>
+ <factoryParams/>
<userName value="guest"/>
<passWord value="guest"/>
</defaultURI>
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs Tue Aug 5 12:47:15 2008
@@ -26,35 +26,26 @@
/// </summary>
public class Session : ISession
{
- private readonly AcknowledgementMode acknowledgementMode;
- private bool asyncSend;
- private Connection connection;
private long consumerCounter;
private readonly IDictionary consumers = Hashtable.Synchronized(new Hashtable());
private readonly IDictionary producers = Hashtable.Synchronized(new Hashtable());
- private bool dispatchAsync;
private readonly DispatchingThread dispatchingThread;
- private bool exclusive;
private readonly SessionInfo info;
- private int maximumPendingMessageLimit;
- private int prefetchSize = 1000;
- private byte priority;
private long producerCounter;
- private bool retroactive;
- private readonly TransactionContext transactionContext;
internal bool startedAsyncDelivery = false;
private bool disposed = false;
private bool closed = false;
public Session(Connection connection, SessionInfo info, AcknowledgementMode acknowledgementMode)
{
- this.connection = connection;
+ this.Connection = connection;
this.info = info;
- this.acknowledgementMode = acknowledgementMode;
- this.asyncSend = connection.AsyncSend;
- transactionContext = new TransactionContext(this);
- dispatchingThread = new DispatchingThread(new DispatchingThread.DispatchFunction(DispatchAsyncMessages));
- dispatchingThread.ExceptionListener += new DispatchingThread.ExceptionHandler(dispatchingThread_ExceptionListener);
+ this.AcknowledgementMode = acknowledgementMode;
+ this.AsyncSend = connection.AsyncSend;
+ this.PrefetchSize = 1000;
+ this.TransactionContext = new TransactionContext(this);
+ this.dispatchingThread = new DispatchingThread(new DispatchingThread.DispatchFunction(DispatchAsyncMessages));
+ this.dispatchingThread.ExceptionListener += new DispatchingThread.ExceptionHandler(dispatchingThread_ExceptionListener);
}
~Session()
@@ -66,11 +57,7 @@
/// Sets the prefetch size, the maximum number of messages a broker will dispatch to consumers
/// until acknowledgements are received.
/// </summary>
- public int PrefetchSize
- {
- get { return prefetchSize; }
- set { this.prefetchSize = value; }
- }
+ public int PrefetchSize { get; set; }
/// <summary>
/// Sets the maximum number of messages to keep around per consumer
@@ -78,72 +65,41 @@
/// will start to be evicted for slow consumers.
/// Must be > 0 to enable this feature
/// </summary>
- public int MaximumPendingMessageLimit
- {
- get { return maximumPendingMessageLimit; }
- set { this.maximumPendingMessageLimit = value; }
- }
+ public int MaximumPendingMessageLimit { get; set; }
/// <summary>
/// Enables or disables whether asynchronous dispatch should be used by the broker
/// </summary>
- public bool DispatchAsync
- {
- get { return dispatchAsync; }
- set { this.dispatchAsync = value; }
- }
+ public bool DispatchAsync { get; set; }
/// <summary>
/// Enables or disables exclusive consumers when using queues. An exclusive consumer means
/// only one instance of a consumer is allowed to process messages on a queue to preserve order
/// </summary>
- public bool Exclusive
- {
- get { return exclusive; }
- set { this.exclusive = value; }
- }
+ public bool Exclusive { get; set; }
/// <summary>
/// Enables or disables retroactive mode for consumers; i.e. do they go back in time or not?
/// </summary>
- public bool Retroactive
- {
- get { return retroactive; }
- set { this.retroactive = value; }
- }
+ public bool Retroactive { get; set; }
/// <summary>
/// Sets the default consumer priority for consumers
/// </summary>
- public byte Priority
- {
- get { return priority; }
- set { this.priority = value; }
- }
+ public byte Priority { get; set; }
/// <summary>
/// This property indicates whether or not async send is enabled.
/// </summary>
- public bool AsyncSend
- {
- get { return asyncSend; }
- set { asyncSend = value; }
- }
-
- public Connection Connection
- {
- get { return connection; }
- }
+ public bool AsyncSend { get; set; }
+ public Connection Connection { get; private set; }
public SessionId SessionId
{
get { return info.SessionId; }
}
- public TransactionContext TransactionContext
- {
- get { return transactionContext; }
- }
+ public TransactionContext TransactionContext { get; private set; }
#region ISession Members
@@ -189,7 +145,7 @@
try
{
StopAsyncDelivery();
- connection.RemoveSession(this);
+ Connection.RemoveSession(this);
foreach(MessageConsumer consumer in GetConsumers())
{
consumer.Close();
@@ -207,7 +163,7 @@
Tracer.ErrorFormat("Error during session close: {0}", ex);
}
- connection = null;
+ Connection = null;
closed = true;
}
}
@@ -231,7 +187,7 @@
try
{
producer = new MessageProducer(this, command);
- connection.SyncRequest(command, requestTimeout);
+ Connection.SyncRequest(command, requestTimeout);
producers[producerId] = producer;
}
catch(Exception)
@@ -276,17 +232,17 @@
{
ConsumerInfo command = CreateConsumerInfo(destination, selector);
command.NoLocal = noLocal;
- command.AcknowledgementMode = acknowledgementMode;
+ command.AcknowledgementMode = this.AcknowledgementMode;
ConsumerId consumerId = command.ConsumerId;
MessageConsumer consumer = null;
try
{
- consumer = new MessageConsumer(this, command, acknowledgementMode);
+ consumer = new MessageConsumer(this, command, this.AcknowledgementMode);
// lets register the consumer first in case we start dispatching messages immediately
consumers[consumerId] = consumer;
- connection.SyncRequest(command, requestTimeout);
+ Connection.SyncRequest(command, requestTimeout);
return consumer;
}
catch(Exception)
@@ -315,10 +271,10 @@
try
{
- consumer = new MessageConsumer(this, command, acknowledgementMode);
+ consumer = new MessageConsumer(this, command, this.AcknowledgementMode);
// lets register the consumer first in case we start dispatching messages immediately
consumers[consumerId] = consumer;
- connection.SyncRequest(command, requestTimeout);
+ Connection.SyncRequest(command, requestTimeout);
}
catch(Exception)
{
@@ -333,6 +289,13 @@
return consumer;
}
+ public void DeleteDurableConsumer(string name)
+ {
+ ConsumerInfo command = CreateConsumerInfo(null, String.Empty);
+ command.SubscriptionName = name;
+ Connection.SyncRequest(command, Connection.ITransport.RequestTimeout);
+ }
+
public IQueue GetQueue(string name)
{
return new ActiveMQQueue(name);
@@ -345,14 +308,14 @@
public ITemporaryQueue CreateTemporaryQueue()
{
- ActiveMQTempQueue answer = new ActiveMQTempQueue(connection.CreateTemporaryDestinationName());
+ ActiveMQTempQueue answer = new ActiveMQTempQueue(Connection.CreateTemporaryDestinationName());
CreateTemporaryDestination(answer);
return answer;
}
public ITemporaryTopic CreateTemporaryTopic()
{
- ActiveMQTempTopic answer = new ActiveMQTempTopic(connection.CreateTemporaryDestinationName());
+ ActiveMQTempTopic answer = new ActiveMQTempTopic(Connection.CreateTemporaryDestinationName());
CreateTemporaryDestination(answer);
return answer;
}
@@ -410,9 +373,9 @@
{
throw new InvalidOperationException(
"You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: "
- + acknowledgementMode);
+ + this.AcknowledgementMode);
}
- transactionContext.Commit();
+ this.TransactionContext.Commit();
}
public void Rollback()
@@ -421,9 +384,9 @@
{
throw new InvalidOperationException(
"You cannot perform a Commit() on a non-transacted session. Acknowlegement mode is: "
- + acknowledgementMode);
+ + this.AcknowledgementMode);
}
- transactionContext.Rollback();
+ this.TransactionContext.Rollback();
// lets ensure all the consumers redeliver any rolled back messages
foreach(MessageConsumer consumer in GetConsumers())
@@ -435,52 +398,49 @@
// Properties
- public AcknowledgementMode AcknowledgementMode
- {
- get { return acknowledgementMode; }
- }
+ public AcknowledgementMode AcknowledgementMode { get; private set; }
public bool Transacted
{
- get { return acknowledgementMode == AcknowledgementMode.Transactional; }
+ get { return this.AcknowledgementMode == AcknowledgementMode.Transactional; }
}
#endregion
private void dispatchingThread_ExceptionListener(Exception exception)
{
- connection.OnSessionException(this, exception);
+ Connection.OnSessionException(this, exception);
}
protected void CreateTemporaryDestination(ActiveMQDestination tempDestination)
{
DestinationInfo command = new DestinationInfo();
- command.ConnectionId = connection.ConnectionId;
+ command.ConnectionId = Connection.ConnectionId;
command.OperationType = 0; // 0 is add
command.Destination = tempDestination;
- connection.SyncRequest(command);
+ Connection.SyncRequest(command);
}
protected void DestroyTemporaryDestination(ActiveMQDestination tempDestination)
{
DestinationInfo command = new DestinationInfo();
- command.ConnectionId = connection.ConnectionId;
+ command.ConnectionId = Connection.ConnectionId;
command.OperationType = 1; // 1 is remove
command.Destination = tempDestination;
- connection.SyncRequest(command);
+ Connection.SyncRequest(command);
}
public void DoSend(ActiveMQMessage message)
{
if(AsyncSend)
{
- connection.OneWay(message);
+ Connection.OneWay(message);
}
else
{
- connection.SyncRequest(message);
+ Connection.SyncRequest(message);
}
}
@@ -491,19 +451,19 @@
{
if(Transacted)
{
- transactionContext.Begin();
+ this.TransactionContext.Begin();
}
}
public void DisposeOf(ConsumerId objectId)
{
- connection.DisposeOf(objectId);
+ Connection.DisposeOf(objectId);
consumers.Remove(objectId);
}
public void DisposeOf(ProducerId objectId)
{
- connection.DisposeOf(objectId);
+ Connection.DisposeOf(objectId);
producers.Remove(objectId);
}
@@ -572,11 +532,11 @@
answer.ConsumerId = id;
answer.Destination = ActiveMQDestination.Transform(destination);
answer.Selector = selector;
- answer.PrefetchSize = prefetchSize;
- answer.Priority = priority;
- answer.Exclusive = exclusive;
- answer.DispatchAsync = dispatchAsync;
- answer.Retroactive = retroactive;
+ answer.PrefetchSize = this.PrefetchSize;
+ answer.Priority = this.Priority;
+ answer.Exclusive = this.Exclusive;
+ answer.DispatchAsync = this.DispatchAsync;
+ answer.Retroactive = this.Retroactive;
// If the destination contained a URI query, then use it to set public properties
// on the ConsumerInfo
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs Tue Aug 5 12:47:15 2008
@@ -44,6 +44,21 @@
}
[TestFixture]
+ public class MapMessageTest : Apache.NMS.Test.MapMessageTest
+ {
+ }
+
+ [TestFixture]
+ public class MessageTest : Apache.NMS.Test.MessageTest
+ {
+ }
+
+ [TestFixture]
+ public class NMSPropertyTest : Apache.NMS.Test.NMSPropertyTest
+ {
+ }
+
+ [TestFixture]
public class TemporaryQueueTest : Apache.NMS.Test.TemporaryQueueTest
{
}
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj Tue Aug 5 12:47:15 2008
@@ -47,9 +47,7 @@
</Compile>
<Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
<Compile Include="src\test\csharp\InheritedTests.cs" />
- <Compile Include="src\test\csharp\MapMessageTest.cs" />
<Compile Include="src\test\csharp\NMSConnectionFactoryTest.cs" />
- <Compile Include="src\test\csharp\NMSPropertyTest.cs" />
<Compile Include="src\test\csharp\OpenWire\BooleanStreamTest.cs">
<SubType>Code</SubType>
</Compile>
@@ -60,9 +58,6 @@
<SubType>Code</SubType>
</Compile>
<Compile Include="src\test\csharp\StompHelperTest.cs" />
- <Compile Include="src\test\csharp\TestMain.cs">
- <SubType>Code</SubType>
- </Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="vendor\Apache.NMS\vs2008-nms-test.csproj">
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/ConnectionTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/ConnectionTest.cs?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/ConnectionTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/ConnectionTest.cs Tue Aug 5 12:47:15 2008
@@ -30,17 +30,15 @@
[Test]
public void TwoConnections()
{
- IConnection connection1 = Factory.CreateConnection();
- connection1.Start();
-
- IConnection connection2 = Factory.CreateConnection();
- connection2.Start();
-
- connection1.Stop();
- connection1.Dispose();
- connection2.Stop();
- connection2.Dispose();
- // with the bug present we'll get an exception in connection2.start()
+ using(IConnection connection1 = CreateConnection(null))
+ {
+ connection1.Start();
+ using(IConnection connection2 = CreateConnection(null))
+ {
+ // with the bug present we'll get an exception in connection2.start()
+ connection2.Start();
+ }
+ }
}
}
}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs Tue Aug 5 12:47:15 2008
@@ -23,81 +23,84 @@
public abstract class DurableTest : NMSTestSupport
{
private static string TOPIC = "TestTopicDurableConsumer";
- private static String CLIENT_ID = "DurableClientId";
- private static String CONSUMER_ID = "ConsumerId";
-
- private int count = 0;
+ private static string SEND_CLIENT_ID = "SendDurableTestClientId";
+ private static string TEST_CLIENT_ID = "DurableTestClientId";
+ private static string CONSUMER_ID = "DurableTestConsumerId";
+ private static string DURABLE_SELECTOR = "2 > 1";
protected void RegisterDurableConsumer()
{
- using(IConnection connection = Factory.CreateConnection())
+ using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
{
- connection.ClientId = CLIENT_ID;
connection.Start();
-
using(ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
{
ITopic topic = session.GetTopic(TOPIC);
- using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, "2 > 1", false))
+ using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, DURABLE_SELECTOR, false))
{
}
}
+ }
+ }
- connection.Stop();
+ protected void UnregisterDurableConsumer()
+ {
+ using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
+ {
+ connection.Start();
+ using(ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
+ {
+ session.DeleteDurableConsumer(CONSUMER_ID);
+ }
}
}
protected void SendPersistentMessage()
{
- using(IConnection connection = Factory.CreateConnection())
+ using(IConnection connection = CreateConnection(SEND_CLIENT_ID))
{
connection.Start();
- using (ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
{
ITopic topic = session.GetTopic(TOPIC);
ITextMessage message = session.CreateTextMessage("Persistent Hello");
- message.NMSPersistent = true;
using(IMessageProducer producer = session.CreateProducer())
{
- producer.Send(topic, message);
+ producer.Send(topic, message, true, message.NMSPriority, receiveTimeout);
}
}
-
- connection.Stop();
}
}
[Test]
public void TestDurableConsumer()
{
- count = 0;
-
RegisterDurableConsumer();
SendPersistentMessage();
- using (IConnection connection = Factory.CreateConnection())
+ try
{
- connection.ClientId = CLIENT_ID;
- connection.Start();
-
- using (ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
+ using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
{
- ITopic topic = session.GetTopic(TOPIC);
- using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, "2 > 1", false))
+ connection.Start();
+ using(ISession session = connection.CreateSession(AcknowledgementMode.DupsOkAcknowledge))
{
- consumer.Listener += new MessageListener(consumer_Listener);
- // Don't know how else to give the system enough time.
- System.Threading.Thread.Sleep(5000);
- Assert.AreEqual(1, count);
- Console.WriteLine("Count = " + count);
- SendPersistentMessage();
- System.Threading.Thread.Sleep(5000);
- Assert.AreEqual(2, count);
- Console.WriteLine("Count = " + count);
+ ITopic topic = session.GetTopic(TOPIC);
+ using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, DURABLE_SELECTOR, false))
+ {
+ IMessage msg = consumer.Receive(receiveTimeout);
+ Assert.IsNotNull(msg, "Did not receive first durable message.");
+ SendPersistentMessage();
+
+ msg = consumer.Receive(receiveTimeout);
+ Assert.IsNotNull(msg, "Did not receive second durable message.");
+ }
}
}
-
- connection.Stop();
+ }
+ finally
+ {
+ UnregisterDurableConsumer();
}
}
@@ -105,56 +108,39 @@
public void TestDurableConsumerTransactional()
{
RegisterDurableConsumer();
-
- RunTestDurableConsumerTransactional();
- // Timeout required before closing/disposing the connection otherwise orphan
- // connection remains and test will fail when run the second time with a
- // InvalidClientIDException: DurableClientID already connected.
- //System.Threading.Thread.Sleep(5000);
- RunTestDurableConsumerTransactional();
+ try
+ {
+ RunTestDurableConsumerTransactional();
+ RunTestDurableConsumerTransactional();
+ }
+ finally
+ {
+ UnregisterDurableConsumer();
+ }
}
protected void RunTestDurableConsumerTransactional()
{
- count = 0;
SendPersistentMessage();
- using (IConnection connection = Factory.CreateConnection())
+ using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
{
- connection.ClientId = CLIENT_ID;
connection.Start();
-
- using (ISession session = connection.CreateSession(AcknowledgementMode.Transactional))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.Transactional))
{
ITopic topic = session.GetTopic(TOPIC);
- using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, "2 > 1", false))
+ using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, DURABLE_SELECTOR, false))
{
- consumer.Listener += new MessageListener(consumer_Listener);
- // Don't know how else to give the system enough time.
-
- System.Threading.Thread.Sleep(5000);
- Assert.AreEqual(1, count);
- Console.WriteLine("Count = " + count);
+ IMessage msg = consumer.Receive(receiveTimeout);
+ Assert.IsNotNull(msg, "Did not receive first durable transactional message.");
SendPersistentMessage();
- System.Threading.Thread.Sleep(5000);
- Assert.AreEqual(2, count);
- Console.WriteLine("Count = " + count);
+ msg = consumer.Receive(receiveTimeout);
+ Assert.IsNotNull(msg, "Did not receive second durable transactional message.");
session.Commit();
}
}
-
- connection.Stop();
}
}
-
- /// <summary>
- /// Asynchronous listener call back method.
- /// </summary>
- /// <param name="message"></param>
- private void consumer_Listener(IMessage message)
- {
- ++count;
- }
}
}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs?rev=682903&r1=682902&r2=682903&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs Tue Aug 5 12:47:15 2008
@@ -122,7 +122,7 @@
protected virtual void Connect()
{
WriteLine("Connecting...");
- connection = CreateConnection();
+ connection = CreateConnection(this.clientId);
Assert.IsNotNull(connection, "no connection created");
connection.Start();
WriteLine("Connected.");
@@ -284,12 +284,13 @@
return null;
}
- protected virtual IConnection CreateConnection()
+ public virtual IConnection CreateConnection(string newClientId)
{
IConnection newConnection = Factory.CreateConnection(userName, passWord);
- if(clientId != null)
+ Assert.IsNotNull(newConnection, "connection not created");
+ if(newClientId != null)
{
- newConnection.ClientId = clientId;
+ newConnection.ClientId = newClientId;
}
return newConnection;