Ramesh,
In the case of [AddressList="mq://host1:port1/,mq://host2:port2/"],
the constructor calls populateList, which calls getStringDelimiterIndex
on the whole string. This method looks for quotes but then decides that
if the end quote is the last character, then it returns a -1 which then
causes populateList to return the whole thing rather than removing the
quotes. In fact there are private routines for removing characters but
I don't see where those are actually called at all.
Another way to do what I needed could have been the following
[AddressList=mq://host1:port1/\,mq://host2:port2/] according to the
javadoc but we've move on to use the sun-jms-adapter. You could try
that yourself.
In the end you really want a CSV parser. Apache Commons CSV is probably
a reasonable dependency but that is still 1.0-SNAPSHOT and not released.
Don't know what the plans are for that.
It not that hard to write a simple CSV parser - and requires lots of test
code (where are your tests!?) to verify.
Good luck with genericjmsra!
Brian
----- Original message -----
From: "Ramesh" <Ramesh.Parthasarathy_at_Sun.COM>
To: users_at_genericjmsra.dev.java.net
Date: Wed, 17 Dec 2008 21:17:12 +0530
Subject: Re: Changing jmsra to genericjmsra - broker connection properties
Hi Brian,
Thanks for trying it , did you try providing the address list
without the "s.
If you have a fix in mind for GRA 2.0, please feel free to propose it,
we will make it available in the next patch release.
Thanks
-Ramesh
Brian Repko wrote:
> Ramesh,
>
> Yes - the 1.7 fails with a StringIndexOutOfBoundsException when it
> tries to parse the second mq://host2:port2 as name=value.
>
> I tried the 2.0 with "s around the broker list and that also did not
> work. I got an InvalidURLException stating that "mq://host1:port1
> was not a valid URL. CustomTokenizer doesn't remove the "s. That
> should be a simple fix.
>
> For us, we are unable to use genericjmsra due to these bugs. I'm
> tempted to fix/build the RAR myself since its close.
>
> I've moved on to testing the sun-jms-adapter but that seems to be a
> bit odd on the JNDI setup (to me at least). If I don't get that
> working then I'm going back to ActiveMQ which I've tested already.
>
> If you fix the genericjmsra CustomTokenizer, please let me know.
>
> Thanks,
> Brian
>
>
> ----- Original message -----
> From: "Ramesh Parthasarathy" <Ramesh.Parthasarathy_at_Sun.COM>
> To: users_at_genericjmsra.dev.java.net
> Date: Wed, 17 Dec 2008 04:38:38 +0000
> Subject: Re: Changing jmsra to genericjmsra - broker connection properties
>
> Hi Brian,
> Yes, the "," would cause a problem (with the StringTokenizer), and iam
> not sure if you can escape it. Please take a look at the ObjectBuilder
> implementation in Generic ra 2.0, it uses a CustomTokenizer which could
> solve the problem.
>
> Also the following link describes the same problem a user had faced
> with gra 1.7 when trying to get JONAS working with Open MQ.
> http://www.nabble.com/Properties-with-%22,%22-in-the-value-td18359391.html
>
> Let me know if we are in the same page..
>
> Thanks
> -Ramesh
>
> On 12/16/08 16:20, Brian Repko wrote:
>
>> Ramesh,
>>
>> Thanks for quick response but I'm not explaining myself.
>>
>> I can figure out the asadmin escaping. I'm not worried about that.
>> At this point I have the genericjmsra throwing ConnectionExceptions
>> trying to connect to localhost:7676 which does not exist. So I'm
>> looking to configure ConnectionFactoryProperties on the CF object
>> through the Admin Console.
>>
>> But ConnectionFactoryProperties is the Property NAME and the Property
>> VALUE is in the form of name1=value1,name2=value2,...
>>
>> If I have "AddressList=mq:\\host:port,mq:\\host:port" then doesn't that
>> comma in between the brokers matter.
>>
>> Keep in mind that this is Sun AS 9.1 so the RAR is probably 1.7 and
>> ObjectBuilder does not use the CustomTokenizer. So this will tokenize
>> on "," and then get "AddressList=mq:\\host:port" as the first token and
>> then get "mq:\\host:port" as the other token.
>>
>> Also, isn't the property ConnectionURL? My server is logging the
>> imqAddressList as the correct property. ConnectionURL is the imq/tunnel
>> setting and I think that that is wrong. Where are these documentated
>> for OpenMQ?
>>
>> Brian
>>
>>
>> ----- Original message -----
>> From: "Ramesh" <Ramesh.Parthasarathy_at_Sun.COM>
>> To: users_at_genericjmsra.dev.java.net
>> Date: Tue, 16 Dec 2008 21:35:44 +0530
>> Subject: Re: Changing jmsra to genericjmsra - broker connection properties
>>
>> You have to escape the "=" and the ":", i think ":" is the separator for
>> connecitonfactoryproperties and not ",".
>>
>> ConnectionFactoryProperties=AddressList\\=mq\\://host\\:port,mq\\://host\\:port
>>
>> -Ramesh
>>
>> Brian Repko wrote:
>>
>>> Some background - we are using genericjmsra since there is a bug
>>> related to shared subscriptions on topics in a cluster with jmsra.
>>>
>>> The log shows that imqAddressList is set to both of them (correctly)
>>> but its still trying to connect to localhost:7676 so I'll try it
>>> but are you sure its AddressList? I was going to try
>>> imqConnectionURL.
>>>
>>> Also, don't I need to escape the value since it contains a ',' and
>>> ConnectionFactoryProperties is a comma-separated list.
>>>
>>> Brian
>>>
>>>
>>> ----- Original message -----
>>> From: "Ramesh" <Ramesh.Parthasarathy_at_Sun.COM>
>>> To: users_at_genericjmsra.dev.java.net
>>> Date: Tue, 16 Dec 2008 21:15:40 +0530
>>> Subject: Re: Changing jmsra to genericjmsra - broker connection properties
>>>
>>> Hi Brian,
>>> You are correct in using the ConnectionFactoryProperties, and the
>>> value should be AddressList=mq://host1:50014/,mq://host2:50014/
>>> Please escape the "/" and ":" if you are using asadmin command line option
>>>
>>> This can be configured as an RA property while creating the resource
>>> adapter config, so that all connection factories would get this value,
>>> and each connection factory (gra connector resource) can be overridden
>>> if required.
>>>
>>> Just like to highlight one point (which you might have already figured
>>> out), if you use jmsra then all the addresses of the brokers in the
>>> cluster are automatically configured in your connection factory without
>>> having you to specify them explicitly. When you use generic ra you have
>>> to explicitly configure all the brokers in the connection factory (like
>>> your example).
>>>
>>> Thanks
>>> -Ramesh
>>>
>>>
>>>
>>> Brian Repko wrote:
>>>
>>>
>>>> I'm trying to switch from jmsra to genericjmsra but still connecting
>>>> to the
>>>> OpenMQ brokers started with the cluster. We have multiple clusters, each
>>>> with 2 instances. JMS is setup as LOCAL but the ports are not the
>>>> default.
>>>>
>>>> The RAR is now getting connection errors since it is trying to connect to
>>>> localhost 7676. The imqAddressList seems to be set but the imqBrokerHost
>>>> and imqBrokerHostPort are set to localhost 7676 and the imqConnectionURL
>>>> is http://localhost/imq/tunnel
>>>>
>>>> Is there anyway to get the the connection factory to connect to the
>>>> brokers
>>>> listed in the imqAddressList?
>>>>
>>>> Is this an RA configuration property (ConnectionFactoryProperties?)
>>>> and can
>>>> we override these at the ConnectionFactory level rather than the RAR?
>>>>
>>>> Do I override imqConnectionURL or imqBrokerHost and imqBrokerHostPort?
>>>> I think I should set imqConnectionURL since this connecting to a
>>>> cluster of
>>>> brokers. I'm also not sure how to specify commas in the value since
>>>> the value
>>>> is already a comma-delimited list. I can look at the source for
>>>> that...I'm thinking
>>>> that the following will do it
>>>>
>>>> Name = ConnectionFactoryProperties
>>>> Value = imqConnectionURL="mq://host1:50014/,mq://host2:50014/"
>>>>
>>>> We are using javabean integration.
>>>>
>>>> Thanks!
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
>>> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
>>> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
>> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
>> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net