activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allan Schrum (JIRA)" <>
Subject [jira] Commented: (AMQNET-26) Add failover:// to NMS client
Date Thu, 23 Oct 2008 01:06:52 GMT


Allan Schrum commented on AMQNET-26:

Attached is a patch that doesn't work, but is a good first start to adding failover capability.
It is close, however. Currently, using a failover URL the system will correctly connect to
the underlying transport, but that starting logic for the transport (in sending the wire information
during SyncRequest() in Connection.cs) does not return a Response thus SyncRequest() treats
this as a failure and closes the connection. The logic in the failover connector does not
seem to recover from that.

The basic tcp URL still works (at least I didn't break that).

The idea is the failover URL: failover://(tcp://xxx:pp?option=value&option=value,tcp://yyy:qq?option=value&option=value)?failoveroptions=value

This is correctly parsed and placed within the failover transport. Each internal transport
is independent and can actually be different protocols (although only tcp is currently supported).
A new class TransportFactory replicates many of the Java-based functions for ITransport-independent
factory creation and usage - a proper hiding of information.

There are a lot of files added to support state management, threads (simulating some Java
stuff). After implementing some things I think I found better classes, so some things will
probably need replacing. Another set of eyes viewing the code will definitely help.

I am using generics in some of the classes which means that the .NET 1.1 version will not
compile. I commented it out of the nant build file so that it was not a problem for me (I
think that is in the patch file, so be careful if you do not want your build file affected).
The generics could probably be removed with only a bit of object-level casting. That's for

I'll keep trying to fix the problem with the failover startup. However, assistance is desired.

That's it for now. Please reply so that we can coordinate efforts at this point.



> Add failover:// to NMS client
> -----------------------------
>                 Key: AMQNET-26
>                 URL:
>             Project: ActiveMQ .Net
>          Issue Type: New Feature
>          Components: ActiveMQ Client
>            Reporter: Denis Abramov
>            Assignee: Jim Gomes
>            Priority: Critical
>             Fix For: 1.1
>         Attachments: FailoverPatch.diff
> Please add failover:// to C# NMS Client. I would add it but I don't know how to resume
a stream once it is broken.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message