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 2009/06/03 00:38:57 UTC
svn commit: r781196 - in
/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src:
main/csharp/Transport/Tcp/TcpTransportFactory.cs
test/csharp/NMSConnectionFactoryTest.cs
Author: jgomes
Date: Tue Jun 2 22:38:57 2009
New Revision: 781196
URL: http://svn.apache.org/viewvc?rev=781196&view=rev
Log:
Added tests for non-existant broker host machines.
Modified:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Transport/Tcp/TcpTransportFactory.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Transport/Tcp/TcpTransportFactory.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Transport/Tcp/TcpTransportFactory.cs?rev=781196&r1=781195&r2=781196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Transport/Tcp/TcpTransportFactory.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Transport/Tcp/TcpTransportFactory.cs Tue Jun 2 22:38:57 2009
@@ -271,56 +271,63 @@
Socket socket = null;
IPAddress ipaddress;
- if(TryParseIPAddress(host, out ipaddress))
+ try
{
- socket = ConnectSocket(ipaddress, port);
- }
- else
- {
- // Looping through the AddressList allows different type of connections to be tried
- // (IPv6, IPv4 and whatever else may be available).
- IPHostEntry hostEntry = GetIPHostEntry(host);
-
- if(null != hostEntry)
+ if(TryParseIPAddress(host, out ipaddress))
{
- // Prefer IPv6 first.
- ipaddress = GetIPAddress(hostEntry, AddressFamily.InterNetworkV6);
socket = ConnectSocket(ipaddress, port);
- if(null == socket)
+ }
+ else
+ {
+ // Looping through the AddressList allows different type of connections to be tried
+ // (IPv6, IPv4 and whatever else may be available).
+ IPHostEntry hostEntry = GetIPHostEntry(host);
+
+ if(null != hostEntry)
{
- // Try IPv4 next.
- ipaddress = GetIPAddress(hostEntry, AddressFamily.InterNetwork);
+ // Prefer IPv6 first.
+ ipaddress = GetIPAddress(hostEntry, AddressFamily.InterNetworkV6);
socket = ConnectSocket(ipaddress, port);
if(null == socket)
{
- // Try whatever else there is.
- foreach(IPAddress address in hostEntry.AddressList)
+ // Try IPv4 next.
+ ipaddress = GetIPAddress(hostEntry, AddressFamily.InterNetwork);
+ socket = ConnectSocket(ipaddress, port);
+ if(null == socket)
{
- if(AddressFamily.InterNetworkV6 == address.AddressFamily
- || AddressFamily.InterNetwork == address.AddressFamily)
+ // Try whatever else there is.
+ foreach(IPAddress address in hostEntry.AddressList)
{
- // Already tried these protocols.
- continue;
- }
-
- socket = ConnectSocket(address, port);
- if(null != socket)
- {
- ipaddress = address;
- break;
+ if(AddressFamily.InterNetworkV6 == address.AddressFamily
+ || AddressFamily.InterNetwork == address.AddressFamily)
+ {
+ // Already tried these protocols.
+ continue;
+ }
+
+ socket = ConnectSocket(address, port);
+ if(null != socket)
+ {
+ ipaddress = address;
+ break;
+ }
}
}
}
}
}
- }
- if(null == socket)
+ if(null == socket)
+ {
+ throw new SocketException();
+ }
+ }
+ catch(Exception ex)
{
- throw new SocketException();
+ throw new NMSConnectionException(String.Format("Error connecting to {0}:{1}.", host, port), ex);
}
- Tracer.DebugFormat("Connected to {0}:{1} using {0} protocol.", host, port, ipaddress.AddressFamily.ToString());
+ Tracer.DebugFormat("Connected to {0}:{1} using {2} protocol.", host, port, ipaddress.AddressFamily.ToString());
return socket;
}
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs?rev=781196&r1=781195&r2=781196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs Tue Jun 2 22:38:57 2009
@@ -16,9 +16,10 @@
*/
using System;
+using System.Net.Sockets;
+using Apache.NMS.Test;
using NUnit.Framework;
using NUnit.Framework.Extensions;
-using Apache.NMS.Test;
namespace Apache.NMS.ActiveMQ.Test
{
@@ -30,9 +31,17 @@
[Row("activemq:tcp://${activemqhost}:61616")]
[Row("activemq:tcp://${activemqhost}:61616?connection.asyncclose=false")]
[Row("activemq:failover:tcp://${activemqhost}:61616")]
+ [Row("activemq:failover:(tcp://${activemqhost}:61616)")]
[Row("activemq:failover:(tcp://${activemqhost}:61616,tcp://${activemqhost}:61616)")]
// ?? [Row("activemq:discovery://${activemqhost}:6155")]
+ [Row("tcp://InvalidHost:61616", ExpectedException = typeof(NMSConnectionException))]
+ [Row("activemq:tcp://InvalidHost:61616", ExpectedException = typeof(NMSConnectionException))]
+ [Row("activemq:tcp://InvalidHost:61616?connection.asyncclose=false", ExpectedException = typeof(NMSConnectionException))]
+ [Row("activemq:failover:tcp://InvalidHost:61616", ExpectedException = typeof(NMSConnectionException))]
+ [Row("activemq:failover:(tcp://InvalidHost:61616)", ExpectedException = typeof(NMSConnectionException))]
+ [Row("activemq:failover:(tcp://InvalidHost:61616,tcp://InvalidHost:61616)", ExpectedException = typeof(NMSConnectionException))]
+
[Row("tcp://${activemqhost}:61616?connection.InvalidParameter=true", ExpectedException = typeof(NMSException))]
[Row("activemq:tcp://${activemqhost}:61616?connection.InvalidParameter=true", ExpectedException = typeof(NMSException))]
[Row("activemq:failover:tcp://${activemqhost}:61616?connection.InvalidParameter=true", ExpectedException = typeof(NMSException))]