[
https://issues.apache.org/activemq/browse/AMQNET-160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52053#action_52053
]
Michel Van Hoof commented on AMQNET-160:
----------------------------------------
HI,
I must admit this is a lot further then i actually wanted to take it. My only
point was that although the failover protocol should be "up and running" at all
times, it might be nice to have it throw some "essential" exceptions for errors
that are beyond the failover protocol to solve:
like when dns resolution of a hostname fails, it throws a SocketException: No
Such host is known
Since these types of errors would render the failover protocol obsolete anyway,
they might be thrown ( no use in failing over and over to a non-existing host
OR trying to resolve a hostname when no DNS resolution is possible)
If the failover protocol well.. fails.. just cause it cannot connect to a host
which DOES exist but isn't up yet , it indeed would loose it's value ( like
Timothy said)
> Connecting to non-existing host does not raise Exception when using failover
> protocol
> -------------------------------------------------------------------------------------
>
> Key: AMQNET-160
> URL: https://issues.apache.org/activemq/browse/AMQNET-160
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0
> Environment: Windows XP/Windows 2003 , .NET Framework 2.0 (Broker
> running Ubuntu 8.04 + ActiveMQ 5.2)
> Reporter: Michel Van Hoof
> Assignee: Jim Gomes
> Fix For: 1.1
>
>
> When using the failover protocol, there is no exception raised when trying to
> connect to non-existing host.
> Example:
> using System;
> using System.Collections.Generic;
> using System.Text;
> using Apache.NMS;
> using Apache.NMS.ActiveMQ;
> class ExceptionTest
> {
> private readonly IConnectionFactory oConnfact;
> private readonly IConnection oConn;
> private readonly ISession oSess;
> private readonly IMessageConsumer oConsumer;
> private string sConnectionUri = "failover:(tcp://unknownhost:61612)";
> // Using this connectionstring it does fail.
> //private string sConnectionUri = "tcp://unknownhost:61612";
> public ExceptionTest()
> {
> oConn.ExceptionListener += new ExceptionListener(OnException);
> this.oConnfact = new ConnectionFactory(sConnectionUri,
> "CLIENT.ID");
>
> oConn.ExceptionListener += new ExceptionListener(OnException);
> this.oConn = oConnfact.CreateConnection();
> oConn.RequestTimeout(new TimeSpan(0, 0, 2));
> // Code hangs here
> oConn.Start();
> //Rest does not really mather anymore since it hangs
>
> }
> void OnEx(Exception exception)
> {
> throw new Exception("The method or operation is not
> implemented.");
> }
> public void OnException(Exception ex)
> {
> Console.WriteLine("You made a BooBoo: {0} ", ex.ToString());
> }
> }
> If you change the connectionstring to "tcp://badhostname:xxxx" , the
> exception does occur.
> It also seems to ignore the RequestTimeout.
> This blocks the application thread indefinately since there is no way to
> recover from it (no exception thrown).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.