Re: Java Broker AMQP 1.0 support - is it by default?
Hey Rob, Thanks for the responses, some more info. I added: secureOnlyMechanisms : [], so my password file authentication provider section looks like this: authenticationproviders : [ { id : cf7bd327-ec0f-4917-bd27-d033e49a23fb, name : passwordFile, secureOnlyMechanisms : [], path : ${qpid.home_dir}/etc/passwd, preferencesproviders : [ { id : 50b2fd82-d002-462d-9e65-4230328b8b63, name : fileSystemPreferences, path : ${qpid.work_dir}/user.preferences.json, type : FileSystemPreferences } ], type : PlainPasswordFile } ], I tried again with: ./send -a amqp://guest:guest@localhost:5672/amq.fanout and the error is now saying: CONNECTION ERROR (amqp:not-found) Unknown hostname localhost (which probably points to your virtualhost comment), however when I did that the Broker errored with an NPE: 00 53 12 d0 00 00 00 5f 00 00 00 0a a1 0a 73 65 6e 64 65 72 2d 78 78 78 52 00 42 50 02 50 00 00 53 28 d0 00 00 00 1c 00 00 00 0b a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 40 40 00 53 29 d0 00 00 00 18 00 00 00 07 a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 52 00 java.lang.NullPointerException at org.apache.qpid.server.protocol.v1_0.Session_1_0.remoteLinkCreation(Session_1_0.java:134) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2$1.run(Connection_1_0.java:172) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2.remoteLinkCreation(Connection_1_0.java:167) at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveAttach(SessionEndpoint.java:300) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveAttach(ConnectionEndpoint.java:633) at org.apache.qpid.amqp_1_0.type.transport.Attach.invoke(Attach.java:352) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:802) at org.apache.qpid.amqp_1_0.framing.FrameHandler.parse(FrameHandler.java:242) at org.apache.qpid.amqp_1_0.framing.AMQPProtocolHeaderHandler.parse(AMQPProtocolHeaderHandler.java:72) at org.apache.qpid.amqp_1_0.codec.ProtocolHeaderHandler.parse(ProtocolHeaderHandler.java:107) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:383) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:379) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:378) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:65) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:133) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:49) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161) at java.lang.Thread.run(Thread.java:722) following up on the virtualhost train of thought I tried: ./send -a amqp://guest:guest@/localhost:5672/amq.fanout and ./send -a amqp://guest:guest@default/localhost:5672/amq.fanout My default virtual host is default: defaultVirtualHost : default, . and virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : default, storePath : ${qpid.work_dir}/default/config, type : JSON } ] Has this stuff changed recently, clearly the disabling plain authentication has, but not so sure about any virtual host stuff. I really am pretty sure that I tried the basic ./send -a amqp://guest:guest@localhost:5672/amq.fanout a couple of months ago and it worked fine??? Frase On 25/08/14 20:22, Rob Godfrey wrote: OK - there's that issue... and then there is an authentication problem. Namely that on trunk the Java Broker does not offer PLAIN authentication over non-SSL ports by default. It offers CRAM-MD5, SCRAM-SHA1 and SCRAM-SHA256... but I'm presuming the messenger client doesn't yet implement any of these. Connecting over SSL should work... but I wan't having any success with that either - which warrants investigation. However, to reenable PLAIN authentication on non-secure connections add the attribute/value pair secureOnlyMechanisms : [], into the configuration for you authentication provider in your config.json. As an example, my password file authentication provider section looks like this: { id
Re: Java Broker AMQP 1.0 support - is it by default?
So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... (I also got it working with SSL - I think my mistake previously was forgetting that messenger would try to connect to port 5671 for amqps) Unfortunately that line in Session_1_0 is a horrible compound statement linkRegistry = getVirtualHost().getLinkRegistry(endpoint.getSession().getConnection().getRemoteContainerId()); so it's a little hard to guess which particular thing is null - but it's probably the virtual host. I would suggest creating a virtualhost called localhost (or just editing your config file to replace default with localhost if you like). For the next release I'm looking to add aliasing to virtualhosts to make this a little easier, and have the default virtual host initially also have aliases of localhost, 127.0.0.1, etc -- Rob On 26 August 2014 10:27, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: Hey Rob, Thanks for the responses, some more info. I added: secureOnlyMechanisms : [], so my password file authentication provider section looks like this: authenticationproviders : [ { id : cf7bd327-ec0f-4917-bd27-d033e49a23fb, name : passwordFile, secureOnlyMechanisms : [], path : ${qpid.home_dir}/etc/passwd, preferencesproviders : [ { id : 50b2fd82-d002-462d-9e65-4230328b8b63, name : fileSystemPreferences, path : ${qpid.work_dir}/user.preferences.json, type : FileSystemPreferences } ], type : PlainPasswordFile } ], I tried again with: ./send -a amqp://guest:guest@localhost:5672/amq.fanout and the error is now saying: CONNECTION ERROR (amqp:not-found) Unknown hostname localhost (which probably points to your virtualhost comment), however when I did that the Broker errored with an NPE: 00 53 12 d0 00 00 00 5f 00 00 00 0a a1 0a 73 65 6e 64 65 72 2d 78 78 78 52 00 42 50 02 50 00 00 53 28 d0 00 00 00 1c 00 00 00 0b a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 40 40 00 53 29 d0 00 00 00 18 00 00 00 07 a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 52 00 java.lang.NullPointerException at org.apache.qpid.server.protocol.v1_0.Session_1_0. remoteLinkCreation(Session_1_0.java:134) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$ 2$1.run(Connection_1_0.java:172) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$ 2.remoteLinkCreation(Connection_1_0.java:167) at org.apache.qpid.amqp_1_0.transport.SessionEndpoint. receiveAttach(SessionEndpoint.java:300) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint. receiveAttach(ConnectionEndpoint.java:633) at org.apache.qpid.amqp_1_0.type.transport.Attach.invoke( Attach.java:352) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint. receive(ConnectionEndpoint.java:802) at org.apache.qpid.amqp_1_0.framing.FrameHandler.parse( FrameHandler.java:242) at org.apache.qpid.amqp_1_0.framing.AMQPProtocolHeaderHandler.parse( AMQPProtocolHeaderHandler.java:72) at org.apache.qpid.amqp_1_0.codec.ProtocolHeaderHandler. parse(ProtocolHeaderHandler.java:107) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:383) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:379) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:378) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:65) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine. received(MultiVersionProtocolEngine.java:133) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine. received(MultiVersionProtocolEngine.java:49) at org.apache.qpid.transport.network.io.IoReceiver.run( IoReceiver.java:161) at java.lang.Thread.run(Thread.java:722) following up on the virtualhost train of thought I tried: ./send -a amqp://guest:guest@/localhost:5672/amq.fanout and ./send -a amqp://guest:guest@default/localhost:5672/amq.fanout My default virtual host is default: defaultVirtualHost : default, . and virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : default, storePath :
Re: Java Broker AMQP 1.0 support - is it by default?
Ah - the NPE is because Proton sends stuff without waiting for a reply, and the Java Broker is not ignoring data that has been sent after it has already decided to close the connection (because the vhost doesn't exist). Your underlying problem is the vhost one, when I send without the vhost localhost being set up I see: ./send -a amqp://guest:guest@localhost/amq.fanout CONNECTION ERROR (amqp:not-found) Unknown hostname localhost And then the NPE in the broker logs. The broker error can be ignored, though I'll raise a JIRA to fix the underlying issue. -- Rob On 26 August 2014 10:50, Rob Godfrey rob.j.godf...@gmail.com wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... (I also got it working with SSL - I think my mistake previously was forgetting that messenger would try to connect to port 5671 for amqps) Unfortunately that line in Session_1_0 is a horrible compound statement linkRegistry = getVirtualHost().getLinkRegistry(endpoint.getSession().getConnection().getRemoteContainerId()); so it's a little hard to guess which particular thing is null - but it's probably the virtual host. I would suggest creating a virtualhost called localhost (or just editing your config file to replace default with localhost if you like). For the next release I'm looking to add aliasing to virtualhosts to make this a little easier, and have the default virtual host initially also have aliases of localhost, 127.0.0.1, etc -- Rob On 26 August 2014 10:27, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: Hey Rob, Thanks for the responses, some more info. I added: secureOnlyMechanisms : [], so my password file authentication provider section looks like this: authenticationproviders : [ { id : cf7bd327-ec0f-4917-bd27-d033e49a23fb, name : passwordFile, secureOnlyMechanisms : [], path : ${qpid.home_dir}/etc/passwd, preferencesproviders : [ { id : 50b2fd82-d002-462d-9e65-4230328b8b63, name : fileSystemPreferences, path : ${qpid.work_dir}/user.preferences.json, type : FileSystemPreferences } ], type : PlainPasswordFile } ], I tried again with: ./send -a amqp://guest:guest@localhost:5672/amq.fanout and the error is now saying: CONNECTION ERROR (amqp:not-found) Unknown hostname localhost (which probably points to your virtualhost comment), however when I did that the Broker errored with an NPE: 00 53 12 d0 00 00 00 5f 00 00 00 0a a1 0a 73 65 6e 64 65 72 2d 78 78 78 52 00 42 50 02 50 00 00 53 28 d0 00 00 00 1c 00 00 00 0b a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 40 40 00 53 29 d0 00 00 00 18 00 00 00 07 a1 0a 61 6d 71 2e 66 61 6e 6f 75 74 52 00 40 52 00 42 40 40 40 40 52 00 java.lang.NullPointerException at org.apache.qpid.server.protocol.v1_0.Session_1_0. remoteLinkCreation(Session_1_0.java:134) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$ 2$1.run(Connection_1_0.java:172) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.Connection_1_0$ 2.remoteLinkCreation(Connection_1_0.java:167) at org.apache.qpid.amqp_1_0.transport.SessionEndpoint. receiveAttach(SessionEndpoint.java:300) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint. receiveAttach(ConnectionEndpoint.java:633) at org.apache.qpid.amqp_1_0.type.transport.Attach.invoke( Attach.java:352) at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint. receive(ConnectionEndpoint.java:802) at org.apache.qpid.amqp_1_0.framing.FrameHandler.parse( FrameHandler.java:242) at org.apache.qpid.amqp_1_0.framing.AMQPProtocolHeaderHandler.parse( AMQPProtocolHeaderHandler.java:72) at org.apache.qpid.amqp_1_0.codec.ProtocolHeaderHandler. parse(ProtocolHeaderHandler.java:107) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:383) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:379) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:378) at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_ 1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:65) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine. received(MultiVersionProtocolEngine.java:133) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine. received(MultiVersionProtocolEngine.java:49) at org.apache.qpid.transport.network.io.IoReceiver.run( IoReceiver.java:161) at java.lang.Thread.run(Thread.java:722) following up on the virtualhost train
Re: Java Broker AMQP 1.0 support - is it by default?
On 26/08/14 09:50, Rob Godfrey wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... So *has* this stuff changed then, as I say I'm pretty convinced that I tried the Java broker with Messenger a few months ago and it worked and I'm certainly likely to have had a basic config with a default virtual host named default. I've never needed a localhost vhost for anything else - for example with the QMF plugin enabled and I do: qpid-config -b guest/guest@localhost Total Exchanges: 6 topic: 2 headers: 1 fanout: 1 direct: 2 Total Queues: 1 durable: 0 non-durable: 1 so for AMQP 0.10 from a python client I don't have to have any other config in place (same for the Java QpidConfig) so this only seems to be an issue from AMQP 1.0 (or possibly just from Messenger?) I would suggest creating a virtualhost called localhost What's the syntax for that? I've tried the following (the second object was what I added - I copied the first object, removed the id and changed the name to localhost), but it doesn't seem to work, though the Broker didn't complain either: virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : default, storePath : ${qpid.work_dir}/default/config, type : JSON }, { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : localhost, storePath : ${qpid.work_dir}/default/config, type : JSON } ] (or just editing your config file to replace default with localhost if you like). For the next release I'm looking to add aliasing to virtualhosts to make this a little easier, and have the default virtual host initially also have aliases of localhost, 127.0.0.1, etc That'd be good, but like I say i really am pretty sure that this stuff was actually working a few months ago when I last played with Messenger and the Java Broker Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 26 August 2014 12:28, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 09:50, Rob Godfrey wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... So *has* this stuff changed then, as I say I'm pretty convinced that I tried the Java broker with Messenger a few months ago and it worked and I'm certainly likely to have had a basic config with a default virtual host named default. I've never needed a localhost vhost for anything else - for example with the QMF plugin enabled and I do: qpid-config -b guest/guest@localhost Total Exchanges: 6 topic: 2 headers: 1 fanout: 1 direct: 2 Total Queues: 1 durable: 0 non-durable: 1 so for AMQP 0.10 from a python client I don't have to have any other config in place (same for the Java QpidConfig) so this only seems to be an issue from AMQP 1.0 (or possibly just from Messenger?) AMQP 1.0 defines the open performative as having a hostname field - which indicates the host the connecting party wishes to attach to. If that field is left blank (null or the empty string) then the Java Broker will use the default host. Messenger is setting this field to the name of the hostname in the address string. This means that when the Java Broker sees the open frame it sees a request to use host localhost, so it looks amongst its virtual hosts for said name. I think at some previous point the 1.0 implementation could *only* connect to the default virtual host and the hostname on the open field was ignored... I would suggest creating a virtualhost called localhost What's the syntax for that? I've tried the following (the second object was what I added - I copied the first object, removed the id and changed the name to localhost), but it doesn't seem to work, though the Broker didn't complain either: virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : default, storePath : ${qpid.work_dir}/default/config, type : JSON }, { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : localhost, storePath : ${qpid.work_dir}/default/config, type : JSON } ] So the issue with that (and this really should cause an error) is that you've got two virtual host nodes pointing at the same configuration file... bad things should really be happening... anyway, if you change the instance of ${qpid.work_dir}/default to ${qpid.work_dir}/localhost in the localhost section that should work for you. (or just editing your config file to replace default with localhost if you like). For the next release I'm looking to add aliasing to virtualhosts to make this a little easier, and have the default virtual host initially also have aliases of localhost, 127.0.0.1, etc That'd be good, but like I say i really am pretty sure that this stuff was actually working a few months ago when I last played with Messenger and the Java Broker That may have been back when you could *only* connect to the default virtualhost with AMQP 1.0. The issue now is that Messenger is putting the DNS / IP host into the host field of open, and unless you have set up the Java Broker that way, then that is not really what you want. -- Rob Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
I've raised QPID-6044 and put a change onto trunk which will mean that if you use an address that resolves to the local machine it will (eventually - there are lots of DNS lookups involved) decide that you want to connect to the default virtual host. I might make a further change to cache the results of this query for the sake of speeding things up a little... but I'm off to grab some lunch now :-) -- Rob On 26 August 2014 12:37, Rob Godfrey rob.j.godf...@gmail.com wrote: On 26 August 2014 12:28, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 09:50, Rob Godfrey wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... So *has* this stuff changed then, as I say I'm pretty convinced that I tried the Java broker with Messenger a few months ago and it worked and I'm certainly likely to have had a basic config with a default virtual host named default. I've never needed a localhost vhost for anything else - for example with the QMF plugin enabled and I do: qpid-config -b guest/guest@localhost Total Exchanges: 6 topic: 2 headers: 1 fanout: 1 direct: 2 Total Queues: 1 durable: 0 non-durable: 1 so for AMQP 0.10 from a python client I don't have to have any other config in place (same for the Java QpidConfig) so this only seems to be an issue from AMQP 1.0 (or possibly just from Messenger?) AMQP 1.0 defines the open performative as having a hostname field - which indicates the host the connecting party wishes to attach to. If that field is left blank (null or the empty string) then the Java Broker will use the default host. Messenger is setting this field to the name of the hostname in the address string. This means that when the Java Broker sees the open frame it sees a request to use host localhost, so it looks amongst its virtual hosts for said name. I think at some previous point the 1.0 implementation could *only* connect to the default virtual host and the hostname on the open field was ignored... I would suggest creating a virtualhost called localhost What's the syntax for that? I've tried the following (the second object was what I added - I copied the first object, removed the id and changed the name to localhost), but it doesn't seem to work, though the Broker didn't complain either: virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : default, storePath : ${qpid.work_dir}/default/config, type : JSON }, { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, lastUpdatedBy : null, lastUpdatedTime : 1404484979134, name : localhost, storePath : ${qpid.work_dir}/default/config, type : JSON } ] So the issue with that (and this really should cause an error) is that you've got two virtual host nodes pointing at the same configuration file... bad things should really be happening... anyway, if you change the instance of ${qpid.work_dir}/default to ${qpid.work_dir}/localhost in the localhost section that should work for you. (or just editing your config file to replace default with localhost if you like). For the next release I'm looking to add aliasing to virtualhosts to make this a little easier, and have the default virtual host initially also have aliases of localhost, 127.0.0.1, etc That'd be good, but like I say i really am pretty sure that this stuff was actually working a few months ago when I last played with Messenger and the Java Broker That may have been back when you could *only* connect to the default virtualhost with AMQP 1.0. The issue now is that Messenger is putting the DNS / IP host into the host field of open, and unless you have set up the Java Broker that way, then that is not really what you want. -- Rob Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
Hi again Rob, Sorry for yet another post . Firstly thanks very much for the answer around I think at some previous point the 1.0 implementation could *only* connect to the default virtual host and the hostname on the open field was ignored... That makes sense, TBH I was starting to question my sanity there, and I was already on pretty thin ground :o) . Secondly on the point: you've got two virtual host nodes pointing at the same configuration file... bad things should really be happening Yeah I spotted that one myself and replaced the default with localhost in the second vhost object, however I'm afraid that I still had no joy with: ./send -a amqp://guest:guest@localhost/amq.fanout CONNECTION ERROR (amqp:not-found) Unknown hostname localhost There always seems to be some tweaks of config.json between versions, so I ended up going back to basics and deleted my config.json letting the Broker create a fresh one and then added my QMF/WebSocket/etc. config. to that However when I added a new localhost vhost to that I still get the same error :-( ./send -a amqp://guest:guest@localhost/amq.fanout CONNECTION ERROR (amqp:not-found) Unknown hostname localhost I've attached my most recent config.json, I don't suppose you could take a look and let me know what I've messed up. I am seeing a localhost subdirectory appearing in my qpid-work probably unrelated at the start of my qpid.log I see 2014-08-26 13:15:19,289 WARN [main] (model.ConfiguredObjectTypeRegistry) - A class definition could not be found while processing the model for 'org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl': com/sleepycat/je/rep/StateChangeListener 2014-08-26 13:15:19,369 WARN [main] (model.ConfiguredObjectTypeRegistry) - A class definition could not be found while processing the model for 'org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHostImpl': com/sleepycat/je/rep/StateChangeListener Which suggests that something isn't being included in the packaged broker assembly, I'm just using the tar.gz from the main Maven build so I doubt it's anything I've failed to set up. Stop Press Another thing, when I looked at qpid-work/default/config/default.json it contains a bunch of exchanges, whereas qpid-work/localhost/config/localhost.json is empty When I copied default.json to localhost.json and changed the name inside to localhost I *finally* got ./send -a amqp://guest:guest@localhost/amq.fanout to run without the error, so I may be making progress, but when I added the localhost vhost shouldn't that localhost.json be automatically populated with exchanges in the same way that the default.json was? Ta! Frase On 26/08/14 11:37, Rob Godfrey wrote: On 26 August 2014 12:28, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 09:50, Rob Godfrey wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... So *has* this stuff changed then, as I say I'm pretty convinced that I tried the Java broker with Messenger a few months ago and it worked and I'm certainly likely to have had a basic config with a default virtual host named default. I've never needed a localhost vhost for anything else - for example with the QMF plugin enabled and I do: qpid-config -b guest/guest@localhost Total Exchanges: 6 topic: 2 headers: 1 fanout: 1 direct: 2 Total Queues: 1 durable: 0 non-durable: 1 so for AMQP 0.10 from a python client I don't have to have any other config in place (same for the Java QpidConfig) so this only seems to be an issue from AMQP 1.0 (or possibly just from Messenger?) AMQP 1.0 defines the open performative as having a hostname field - which indicates the host the connecting party wishes to attach to. If that field is left blank (null or the empty string) then the Java Broker will use the default host. Messenger is setting this field to the name of the hostname in the address string. This means that when the Java Broker sees the open frame it sees a request to use host localhost, so it looks amongst its virtual hosts for said name. I think at some previous point the 1.0 implementation could *only* connect to the default virtual host and the hostname on the open field was ignored... I would suggest creating a virtualhost called localhost What's the syntax for that? I've tried the following (the second object was what I added - I copied the first object, removed the id and changed the name to localhost), but it doesn't seem to work, though the Broker didn't complain either: virtualhostnodes : [ { context : { virtualhostBlueprint : { \type\ : \DERBY\, \storePath\ : \${qpid.work_dir}/default/messages\ }, virtualhostBlueprintUtilised : true }, createdBy : null, createdTime : 0, id : 13fe911a-2dbb-493e-b652-d3b70013e8d9,
Re: Java Broker AMQP 1.0 support - is it by default?
So why you didn't get the default exchange created is probably this part: context : { virtualhostBlueprint : { \type\ : \DERBY\ }, virtualhostBlueprintUtilised : true }, Without going into ridiculous levels of detail, basically that second context variable being set to true means I've set up all the configuration for this virtual host - you don't need to do it again. To be honest rather than messing around in the config file, it's much easier just to open up the built in web management console and add the virtual host from there... (Alternatively if you are using trunk you could follow the instructions given on this Jira: https://issues.apache.org/jira/browse/QPID-6036 about using curl to extract and replay config (note that you'll either need to use ssl, or enable basic authentication over non SSL connections - which again can be done through the UI) (also not that if doing this you'd need to update the name before uploading the config)). -- Rob On 26 August 2014 14:38, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: Hi again Rob, Sorry for yet another post . Firstly thanks very much for the answer around I think at some previous point the 1.0 implementation could *only* connect to the default virtual host and the hostname on the open field was ignored... That makes sense, TBH I was starting to question my sanity there, and I was already on pretty thin ground :o) . Secondly on the point: you've got two virtual host nodes pointing at the same configuration file... bad things should really be happening Yeah I spotted that one myself and replaced the default with localhost in the second vhost object, however I'm afraid that I still had no joy with: ./send -a amqp://guest:guest@localhost/amq.fanout CONNECTION ERROR (amqp:not-found) Unknown hostname localhost There always seems to be some tweaks of config.json between versions, so I ended up going back to basics and deleted my config.json letting the Broker create a fresh one and then added my QMF/WebSocket/etc. config. to that However when I added a new localhost vhost to that I still get the same error :-( ./send -a amqp://guest:guest@localhost/amq.fanout CONNECTION ERROR (amqp:not-found) Unknown hostname localhost I've attached my most recent config.json, I don't suppose you could take a look and let me know what I've messed up. I am seeing a localhost subdirectory appearing in my qpid-work probably unrelated at the start of my qpid.log I see 2014-08-26 13:15:19,289 WARN [main] (model.ConfiguredObjectTypeRegistry) - A class definition could not be found while processing the model for 'org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl': com/sleepycat/je/rep/StateChangeListener 2014-08-26 13:15:19,369 WARN [main] (model.ConfiguredObjectTypeRegistry) - A class definition could not be found while processing the model for 'org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHostImpl': com/sleepycat/je/rep/StateChangeListener Which suggests that something isn't being included in the packaged broker assembly, I'm just using the tar.gz from the main Maven build so I doubt it's anything I've failed to set up. Stop Press Another thing, when I looked at qpid-work/default/config/default.json it contains a bunch of exchanges, whereas qpid-work/localhost/config/localhost.json is empty When I copied default.json to localhost.json and changed the name inside to localhost I *finally* got ./send -a amqp://guest:guest@localhost/amq.fanout to run without the error, so I may be making progress, but when I added the localhost vhost shouldn't that localhost.json be automatically populated with exchanges in the same way that the default.json was? Ta! Frase On 26/08/14 11:37, Rob Godfrey wrote: On 26 August 2014 12:28, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 09:50, Rob Godfrey wrote: So, I ran last night with a virtualhost called localhost and the address amqp://guest:guest@localhost:5672/amq.fanout and it worked fine... So *has* this stuff changed then, as I say I'm pretty convinced that I tried the Java broker with Messenger a few months ago and it worked and I'm certainly likely to have had a basic config with a default virtual host named default. I've never needed a localhost vhost for anything else - for example with the QMF plugin enabled and I do: qpid-config -b guest/guest@localhost Total Exchanges: 6 topic: 2 headers: 1 fanout: 1 direct: 2 Total Queues: 1 durable: 0 non-durable: 1 so for AMQP 0.10 from a python client I don't have to have any other config in place (same for the Java QpidConfig) so this only seems to be an issue from AMQP 1.0 (or possibly just from Messenger?) AMQP 1.0 defines the open performative as having a hostname field - which indicates the host the connecting party
Re: Java Broker AMQP 1.0 support - is it by default?
On 26/08/14 13:46, Rob Godfrey wrote: To be honest rather than messing around in the config file, it's much easier just to open up the built in web management console and add the virtual host from there... I did begin to wonder that, but I figured I was *trying* to do something that should be pretty simple really and slowly losing my marbles in the process :-( I surely can't be the only person who has tried to get Messenger to talk to the Java Broker??? Good news is that I appear to be making a little progress, so thanks for the help so far. ./send -a amqp://guest:guest@localhost/amq.fanout Now appears to work and I've fired up the QMF GUI and can see an exchange labelled vhost:localhost/amq.fanout and that has msgReceives incrementing each time I do send (BTW in case you are wondering the vhost:localhost/ bit is added by the QMF plugin I took the approach of prefixing the name so that basic CLI tools like qpid-config that aren't vhost aware could see different vhost info without requiring changes) e.g. qpid-config -b guest/guest@localhost exchanges Type Exchange Name Attributes = directamq.direct --durable fanoutamq.fanout --durable headers amq.match --durable topic amq.topic --durable directqmf.default.direct --durable topic qmf.default.topic --durable directvhost:localhost/amq.direct --durable fanoutvhost:localhost/amq.fanout --durable headers vhost:localhost/amq.match --durable topic vhost:localhost/amq.topic --durable directvhost:localhost/qmf.default.direct --durable topic vhost:localhost/qmf.default.topic --durable My next issue is that I can't actually seem to receive the messages I've just added :o) I tried: ./recv amqp://guest:guest@localhost/amq.fanout But I'm not getting any messages. That call does successfully connect and moreover it actually creates a subscription queue (shown in the QMF GUI - and qpid-config - as vhost:localhost/d905aa40-eb45-4f5a-a949-54f5652dd279) but there are no bindings being created. Definitely much fun to be had between Messenger, Java Broker and vhosts :- I've go a bad feeling this is only the tip of the iceberg, why I'm actually trying all this is 'cause I want to try my JavaScript port of qpid-config that uses my JavaScript port of Messenger (I'm not at all ambitious :-D) it actually works perfectly with the C++ broker (via my WebSocket-TCP Socket proxy) so figured it might be good to try it using the Java Broker's WebSocket transport. I'm going to run into more trouble 'cause the QMF plugin uses the default vhost. The aliasing stuff you talked about should make all this a lot less mind-melting, but in a funny sort of way it's probably good to be noting these issues. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
Hi Fraser, I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. I'll raise a JIRA to deal with this case however. -- Rob On 26 August 2014 15:40, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 13:46, Rob Godfrey wrote: To be honest rather than messing around in the config file, it's much easier just to open up the built in web management console and add the virtual host from there... I did begin to wonder that, but I figured I was *trying* to do something that should be pretty simple really and slowly losing my marbles in the process :-( I surely can't be the only person who has tried to get Messenger to talk to the Java Broker??? Good news is that I appear to be making a little progress, so thanks for the help so far. ./send -a amqp://guest:guest@localhost/amq.fanout Now appears to work and I've fired up the QMF GUI and can see an exchange labelled vhost:localhost/amq.fanout and that has msgReceives incrementing each time I do send (BTW in case you are wondering the vhost:localhost/ bit is added by the QMF plugin I took the approach of prefixing the name so that basic CLI tools like qpid-config that aren't vhost aware could see different vhost info without requiring changes) e.g. qpid-config -b guest/guest@localhost exchanges Type Exchange Name Attributes = directamq.direct --durable fanoutamq.fanout --durable headers amq.match --durable topic amq.topic --durable directqmf.default.direct --durable topic qmf.default.topic --durable directvhost:localhost/amq.direct --durable fanoutvhost:localhost/amq.fanout --durable headers vhost:localhost/amq.match --durable topic vhost:localhost/amq.topic --durable directvhost:localhost/qmf.default.direct --durable topic vhost:localhost/qmf.default.topic --durable My next issue is that I can't actually seem to receive the messages I've just added :o) I tried: ./recv amqp://guest:guest@localhost/amq.fanout But I'm not getting any messages. That call does successfully connect and moreover it actually creates a subscription queue (shown in the QMF GUI - and qpid-config - as vhost:localhost/d905aa40-eb45-4f5a-a949-54f5652dd279) but there are no bindings being created. Definitely much fun to be had between Messenger, Java Broker and vhosts :- I've go a bad feeling this is only the tip of the iceberg, why I'm actually trying all this is 'cause I want to try my JavaScript port of qpid-config that uses my JavaScript port of Messenger (I'm not at all ambitious :-D) it actually works perfectly with the C++ broker (via my WebSocket-TCP Socket proxy) so figured it might be good to try it using the Java Broker's WebSocket transport. I'm going to run into more trouble 'cause the QMF plugin uses the default vhost. The aliasing stuff you talked about should make all this a lot less mind-melting, but in a funny sort of way it's probably good to be noting these issues. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 08/26/2014 03:41 PM, Rob Godfrey wrote: I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. Does the java broker still support the filter extensions apache.org:legacy-amqp-direct-binding:string and apache.org:legacy-amqp-topic-binding:string? - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 26 August 2014 16:57, Gordon Sim g...@redhat.com wrote: On 08/26/2014 03:41 PM, Rob Godfrey wrote: I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. Does the java broker still support the filter extensions apache.org: legacy-amqp-direct-binding:string and apache.org:legacy-amqp-topic- binding:string? Yes, I believe it does - though these wouldn't apply at a fanout exchange -- Rob - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 26/08/14 15:41, Rob Godfrey wrote: Hi Fraser, I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. I'll raise a JIRA to deal with this case however. -- Rob Thanks again for your help so far Rob. For info ./recv amqp://guest:guest@localhost/amq.fanout/dummy with ./send -a amqp://guest:guest@localhost/amq.fanout seems to work. Yay little victories :-) Next question (and this might be more in Gordon's space) any idea how to get spit and drain to play ball? So I try ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout and I guess unsurprisingly that creates a queue (with no binding) on the default vhost With drain following the previous pattern doesn't work either e.g. ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout/dummy Doesn't create a binding. So not sure for the case of spout/drain with the Java Broker a) how to specify a virtual host in the address b) how to get a binding to amq.fanout created. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 08/26/2014 04:09 PM, Fraser Adams wrote: On 26/08/14 15:41, Rob Godfrey wrote: Hi Fraser, I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. I'll raise a JIRA to deal with this case however. -- Rob Thanks again for your help so far Rob. For info ./recv amqp://guest:guest@localhost/amq.fanout/dummy with ./send -a amqp://guest:guest@localhost/amq.fanout seems to work. Yay little victories :-) Next question (and this might be more in Gordon's space) any idea how to get spit and drain to play ball? So I try ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout and I guess unsurprisingly that creates a queue (with no binding) on the default vhost With drain following the previous pattern doesn't work either e.g. ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout/dummy You need to put extra quotes around the node name to prevent the client trying to interpret the address. E.g. ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f 'amq.fanout/dummy' Doesn't create a binding. So not sure for the case of spout/drain with the Java Broker a) how to specify a virtual host in the address qpid::messaging does not at present set the hostname on the open b) how to get a binding to amq.fanout created. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
As an aside, I've just made a change on trunk for QPID-6046 which should allow the address amqp://guest:guest@localhost/amq.fanout to work -- Rob On 26 August 2014 17:09, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 15:41, Rob Godfrey wrote: Hi Fraser, I think the issue here is that the Java Broker doesn't really understand properly what you want to do with the address amq.fanout I think it is looking for a binding key for the exchnage... for instance if you tried to receive from the address amq.fanout/foo I think it would work. Obviously for the fanout exchange this seems a little odd as the binding key is pretty meaningless - but for other exchange types it is more important. I'll raise a JIRA to deal with this case however. -- Rob Thanks again for your help so far Rob. For info ./recv amqp://guest:guest@localhost/amq.fanout/dummy with ./send -a amqp://guest:guest@localhost/amq.fanout seems to work. Yay little victories :-) Next question (and this might be more in Gordon's space) any idea how to get spit and drain to play ball? So I try ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout and I guess unsurprisingly that creates a queue (with no binding) on the default vhost With drain following the previous pattern doesn't work either e.g. ./drain --connection-options {protocol:amqp1.0} -b guest/guest@localhost -f amq.fanout/dummy Doesn't create a binding. So not sure for the case of spout/drain with the Java Broker a) how to specify a virtual host in the address b) how to get a binding to amq.fanout created. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 26/08/14 16:19, Rob Godfrey wrote: As an aside, I've just made a change on trunk for QPID-6046 which should allow the address amqp://guest:guest@localhost/amq.fanout to work -- Rob I Rob, I've just updated to revision 1620634 and rebuild and restarted my broker and ./recv amqp://guest:guest@localhost/amq.fanout still doesn't seem to create a binding for me Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
Doh - yeah - that was my fault... fixed now I hope, -- Rob On 26 August 2014 17:49, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: On 26/08/14 16:19, Rob Godfrey wrote: As an aside, I've just made a change on trunk for QPID-6046 which should allow the address amqp://guest:guest@localhost/amq.fanout to work -- Rob I Rob, I've just updated to revision 1620634 and rebuild and restarted my broker and ./recv amqp://guest:guest@localhost/amq.fanout still doesn't seem to create a binding for me Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
On 26/08/14 17:50, Rob Godfrey wrote: Doh - yeah - that was my fault... fixed now I hope, -- Rob Just updated, seems to be behaving now, I also got node recv.js amqp://guest:guest@localhost:5673/amq.fanout node send.js -a amqp://guest:guest@localhost:5673/amq.fanout working so the JavaScript/WebSocket send and recv behave the same as the C ones more little victories, thanks! Getting the qpid-config.js might be a bit of effort to figure out what's playing up. I changed the connection URL in the QMF plugin to: connectionURL : amqp://guest:guest@/localhost?brokerlist='tcp://0.0.0.0:5672', and used the same connectionURL in the QMF GUI and that seems to be playing nicely with the QMF plugin bound to the localhost vhost but qpid-config.js is currently just hanging :-( Or rather on the plus side it *is* sending messages to vhost:localhost/qmf.default.direct and it is creating a subscription queue on the localhost vhost too, I'll need to dig a bit further to see what's breaking - I can't see a binding for the subscription queue, but that might just be because it should be bound to the localhost vhost's default direct exchange which won't show up in the bindings. today has made me sad, so I'll probably sleep on it. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
Hi Fraser, the 1-0 support is on by default... The issue may be related to virtual hosts... IIRC proton is telling the broker that the host it wants to open is localhost so if you don't have a localhost virtualhost inside the broker then it may fail... The error could obviously do with some work, whatever the cause. I'll try to fire up a fresh broker and clean proton install and see what I can see, Cheers, Rob On 25 August 2014 18:37, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: Hello, I've just tried using proton's send example with the Java Broker: ./send -a amqp://guest:guest@localhost/amq.fanout and I get the helpful response: [0x21ff810]:ERROR[0] (null) [0x21ff810]:ERROR[0] (null) CONNECTION ERROR connection aborted (remote) I'm pretty sure that I've previously had this working with the Java Broker but I can't think what I'm doing wrong. I can't remember if there's something I need to add to the broker config JSON to make it work with AMQP 1.0, if so what's the incantation I need, if not what am I doing wrong with send? Cheers. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Java Broker AMQP 1.0 support - is it by default?
OK - there's that issue... and then there is an authentication problem. Namely that on trunk the Java Broker does not offer PLAIN authentication over non-SSL ports by default. It offers CRAM-MD5, SCRAM-SHA1 and SCRAM-SHA256... but I'm presuming the messenger client doesn't yet implement any of these. Connecting over SSL should work... but I wan't having any success with that either - which warrants investigation. However, to reenable PLAIN authentication on non-secure connections add the attribute/value pair secureOnlyMechanisms : [], into the configuration for you authentication provider in your config.json. As an example, my password file authentication provider section looks like this: { id : ef78d9a3-7011-459f-8a53-2e91d3bf30da, name : passwordFile, secureOnlyMechanisms : [], path : ${qpid.home_dir}/etc/passwd, type : PlainPasswordFile, preferencesproviders : [ { id : db265e14-c9d2-4fca-8f77-ae4c2bcf9203, name : fileSystemPreferences, path : ${qpid.work_dir}/user.preferences.json, type : FileSystemPreferences } -- Rob On 25 August 2014 20:47, Rob Godfrey rob.j.godf...@gmail.com wrote: Hi Fraser, the 1-0 support is on by default... The issue may be related to virtual hosts... IIRC proton is telling the broker that the host it wants to open is localhost so if you don't have a localhost virtualhost inside the broker then it may fail... The error could obviously do with some work, whatever the cause. I'll try to fire up a fresh broker and clean proton install and see what I can see, Cheers, Rob On 25 August 2014 18:37, Fraser Adams fraser.ad...@blueyonder.co.uk wrote: Hello, I've just tried using proton's send example with the Java Broker: ./send -a amqp://guest:guest@localhost/amq.fanout and I get the helpful response: [0x21ff810]:ERROR[0] (null) [0x21ff810]:ERROR[0] (null) CONNECTION ERROR connection aborted (remote) I'm pretty sure that I've previously had this working with the Java Broker but I can't think what I'm doing wrong. I can't remember if there's something I need to add to the broker config JSON to make it work with AMQP 1.0, if so what's the incantation I need, if not what am I doing wrong with send? Cheers. Frase - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org