Hey Glen, I am glad it worked out for you. If you have any further JMS/Java related questions please feel free to ask.
Rajith On Thu, Dec 10, 2009 at 12:37 AM, Glen Marchesani <[email protected]> wrote: > Hi Rajith, > Thanks for your help and quick responses. It looks like our issue was > related to a bad build of qpid. My apologies for this. In short when I ran > it with the "qpidd -t" option. I had to do it on a different machine and > when I ran our example java code it worked (with the url of > amqp://guest:gu...@clientid/test?brokerlist='tcp://172.16.1.52:5672'). The > issue was the qpidd server we were originally using as I went back to that > and saw the issue again. > > We were running qpid C++ 0.5 daemon. > > One interesting note is the performance of our python client was around 1000 > msgs/second. With the java client we are seeing something closer to 10,000 > msgs/second. Very informal tests but enough that I thought it worth > mentioning. > > > > On Wed, Dec 9, 2009 at 9:59 PM, Rajith Attapattu <[email protected]> wrote: > >> On Wed, Dec 9, 2009 at 8:57 PM, Brant Boehmann <[email protected]> >> wrote: >> > I think Glen will be running your test soon, but I may have stumbled >> across >> > the issue while digging through qpid code. >> > >> > The docs say a url of the form: It >> > >> > >> amqp://[<user>:<pass>@][<clientid>]<virtualhost>[?<option>='<value>'[&<option>='<value>']] >> > >> > It then goes on to give examples like: >> > >> > amqp:///test?brokerlist='localhost' >> > amqp:///test?brokerlist='tcp://anotherhost:5684?retries='10'' >> > amqp://guest:guest@ >> /test?brokerlist='vm://:1;vm://:2'&failover='roundrobin' >> > amqp://guest:guest@ >> /test?brokerlist='vm://:1;vm://:2'&failover='roundrobin?cyclecount='20'' >> > amqp://guest:gu...@client >> /test?brokerlist='tcp://localhost;tcp://redundant-server:5673?ssl='true''&failover='roundrobin' >> > amqp://guest:guest@/test?brokerlist='vm://:1'&failover='nofailover' >> > >> > >> > >> > This implies that the user info (ie guest:guest) are not required. >> >> Yes the documentation does imply that, all though the code doesn't reflect >> it. >> I sincerely apologize for this mistake. >> One of the biggest issues we have right now is that our documentation >> is sometimes out of sync with the code. >> We are trying to address this as a matter of priority. >> >> All though the code treats the user_info as mandatory sometimes it >> doesn't make sense especially when using mechanisms like anon or >> kerberos. >> So IMO the documentation is correct and the username/password should >> be optional. >> However looking at the svn history, it seems that the user info has >> always been treated mandatory. >> >> We should either fix the code or the documentation. >> Would you like to create a JIRA for this? >> Again sorry for the inconvenience. >> >> > Since we are using no auth on the qpid broker anything we pass here >> > will make us fail authentication. >> >> If you have disabled authentication in the broker then there should >> not be any problem. >> Could you please let us know if you are using the trunk broker or if >> you are using a particular release. >> Also please paste the output of the broker. >> >> > So we decided to try a form without a username/password. This seemed >> > logical to us because we have python code that is not providing >> > username/password. >> >> As explained above the code does not treat the userinfo as optional. >> >> > However, when we user a url without username:password info, The code >> > throws an exception internally which is logged as a warning message to >> > us: >> > WARNING: Unable to createFactories:User information not found on url >> > between indicies 7 and 1 >> > >> > I dug through some of the java client code and found lines 86-111 of >> > org/apache/qpid/client/url/URLParser.java is attempting to retrieve the >> user >> > info from the url string, and doesn't find it, so it stops parsing the >> rest >> > of the url and throws an exception. Control of the program then flows >> back >> > to the createFactory method of >> > org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java where the >> > WARNING message is logged and ConnectionFactory is not created thus >> cannot >> > be used. >> > >> > Looking through the code I don't see any way for a java client to connect >> > without providing credentials. >> > Can anyone think of a work around? >> > >> > On Wed, Dec 9, 2009 at 6:18 PM, Rajith Attapattu <[email protected]> >> wrote: >> > >> >> Could you please run the broker with -t and paste the output of the >> broker? >> >> Are you using a specific release of the c++ broker or is it built from >> >> trunk? >> >> >> >> Rajith >> >> >> >> On Wed, Dec 9, 2009 at 6:08 PM, Glen Marchesani <[email protected]> >> wrote: >> >> > Hi I am Brant's co-worker and can confirm the server is setup for >> >> no-auth. >> >> > >> >> > We are trying to migrate working python code to work in the java >> client >> >> and >> >> > as Brant has pointed out can't form a url for the java client that >> works. >> >> > >> >> > >> >> > On Wed, Dec 9, 2009 at 4:03 PM, Brant Boehmann < >> [email protected] >> >> >wrote: >> >> > >> >> >> I've tried with guest:guest and I get authentication failure shown in >> >> the >> >> >> stack trace. I think auth is already disabled on the server as the >> >> python >> >> >> code I posted works without providing credentials. If I remove guest: >> >> guest >> >> >> from the url then I get the error about the user info missing in the >> url >> >> >> and >> >> >> I still can't connect. Does anyone have example java code of >> connecting >> >> to >> >> >> a >> >> >> c++ broker with auth disabled? >> >> >> >> >> >> On Dec 9, 2009 11:57 AM, "Rajith Attapattu" <[email protected]> >> wrote: >> >> >> >> >> >> start the c++ broker with --auth no >> >> >> >> >> >> If you want authentication enabled, then need to setup SASL in the >> c++ >> >> >> broker. >> >> >> Sadly I couldn't find any documentation in the Qpid project, except >> >> >> here https://issues.apache.org/jira/browse/QPID-648 >> >> >> If you set it up for the most basic case (username/password) then you >> >> >> could use amqp://guest:gu...@clientid >> >> >> /test?brokerlist='tcp://localhost:5672' >> >> >> where guest/guest is the user/pwd. >> >> >> >> >> >> Regards, >> >> >> >> >> >> Rajith >> >> >> >> >> >> On Tue, Dec 8, 2009 at 11:27 PM, Brant Boehmann < >> >> [email protected]> >> >> >> wrote: > I have a qpid C... >> >> >> -- >> >> >> Regards, >> >> >> >> >> >> Rajith Attapattu >> >> >> Red Hat >> >> >> http://rajith.2rlabs.com/ >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> Apache Qpid - AMQP Messaging Implementation >> >> >> Project: http://qpid.apache.org >> >> >> Use/Interact: mailto:[email protected] >> >> >> >> >> > >> >> >> >> >> >> >> >> -- >> >> Regards, >> >> >> >> Rajith Attapattu >> >> Red Hat >> >> http://rajith.2rlabs.com/ >> >> >> >> --------------------------------------------------------------------- >> >> Apache Qpid - AMQP Messaging Implementation >> >> Project: http://qpid.apache.org >> >> Use/Interact: mailto:[email protected] >> >> >> >> >> > >> >> >> >> -- >> Regards, >> >> Rajith Attapattu >> Red Hat >> http://rajith.2rlabs.com/ >> >> --------------------------------------------------------------------- >> Apache Qpid - AMQP Messaging Implementation >> Project: http://qpid.apache.org >> Use/Interact: mailto:[email protected] >> >> > -- Regards, Rajith Attapattu Red Hat http://rajith.2rlabs.com/ --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
