[ 
https://issues.apache.org/activemq/browse/AMQNET-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Allan Schrum updated AMQNET-26:
-------------------------------

    Attachment: Apache.NMS.709310.diff

The attached file should address the URISupport.cs problem identified by 
Christian. The parseComposite() routine now correctly parses singleton URI into 
a composite structure so that the connection can be completed. Support for 
failover is still maintained.

I have discovered two additional issues that need to be addressed. The first is 
Microsoft's Uri class will not accept a failover URL of the form:

failover://(tcp://localhost,tcp://localhost)

because the implied host (that which is in the parenthesis) is not a valid 
hostname (I guess). While the scheme is not a publicly recognized scheme I 
would think Microsoft would defer interpretation at that level, or provide a 
way to supply a private scheme parser. I couldn't find one. Thus the above 
syntax fails. Funny thing is, the following works:

failover:(tcp://localhost,tcp://localhost)

though it is not a legal format either (missing forward slashes). With some 
investigation, the following does work and is a valid URL from the Uri class's 
point of view:

failover://localhost/(tcp://localhost,tcp://localhost)

The explicit host and path (trailing slash) provide sufficient context for Uri 
to accept it. Even though we ignore the failover host (the first localhost) for 
failover processing, this will probably need to be the way a correct URL is 
provided for failover operation.

Second, the recent changes to Apache.NMS.ActiveMQ's file 
OpenWire/OpenWireFormat.cs create massive delays on my system. If I revert that 
file back to the version 693666 (09-Sep-2008) then all my code starts working 
without delays. It seems that the action of writing to the bus (using Topics in 
my case) is delayed 120 seconds or so. Each write seems to be delayed 15 
seconds. Since startup involves several writes the initialize the wire format, 
I suspect that a timeout variable is set to 0 (zero) which does not allow a 
thread-swap to take place. So it hangs. I will make this comment on 
[AMQNET-121]. (See https://issues.apache.org/activemq/browse/AMQNET-121) as 
well.

Please test and give feedback. If it is positive, then Jim can commit the 
change to the repository.

-Allan

> Add failover:// to NMS client
> -----------------------------
>
>                 Key: AMQNET-26
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-26
>             Project: ActiveMQ .Net
>          Issue Type: New Feature
>          Components: ActiveMQ Client
>            Reporter: Denis Abramov
>            Assignee: Jim Gomes
>            Priority: Critical
>             Fix For: 1.1
>
>         Attachments: Apache.NMS.707373.diff, Apache.NMS.707373a.diff, 
> Apache.NMS.709310.diff, Apache.NMS.ActiveMQ.707373.diff, 
> Apache.NMS.ActiveMQ.707373a.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.

Reply via email to