On 03/13/2010 06:18 PM, Joan Bellver Faus wrote:
Hi, I have a problem when trying to connect to a broker in order to
manage a session with the managament, well my code is as follows:
String connectionBroker =
"amqp://guest:guest@/test?brokerlist='tcp://localhost:5671?ssl='true',sasl_mechs='EXTERNAL''";
sess.addBroker(connectionBroker);
The error is this:
Exception in thread "Thread-3" org.apache.qpid.console.ConsoleException:
org.apache.qpid.transport.SessionException: ch=0 id=0
ExecutionException(errorCode=NOT_ALLOWED, commandId=10, classCode=7,
commandCode=1, fieldIndex=0, description=not-allowed: Exchange names
beginning with "amq." or "qpid." are reserved.
(exchange="qpid.management") (qpid/broker/SessionAdapter.cpp:89),
errorInfo={})
at org.apache.qpid.console.Broker.tryToConnect(Broker.java:421)
at org.apache.qpid.console.Broker.<init>(Broker.java:87)
at org.apache.qpid.console.Session.addBroker(Session.java:70)
I am using the trunk version for both the broker c++ as for the java
client.
thank you very much.
As a workaround you could perhaps turn off declaring of exchanges using
the system property -Dqpid.declare_exchanges=false.
However I think this really requires a minor change along the lines of
the patch attached. (Some refactoring may be appropriate here to avoid
repeating the same check in two different places).
Index: java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java
===================================================================
--- java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java (revision 921956)
+++ java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java (working copy)
@@ -72,7 +72,7 @@
(name,
destination.getExchangeClass().toString(),
null, null,
- name.startsWith("amq.") ? Option.PASSIVE : Option.NONE);
+ (name.startsWith("amq.") || name.startsWith("qpid.")) ? Option.PASSIVE : Option.NONE);
}
else
{
Index: java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
===================================================================
--- java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java (revision 921956)
+++ java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java (working copy)
@@ -647,7 +647,7 @@
type,
alternateExchange,
args,
- name.toString().startsWith("amq.") ? Option.PASSIVE
+ (name.toString().startsWith("amq.") || name.toString().startsWith("qpid.")) ? Option.PASSIVE
: Option.NONE);
// We need to sync so that we get notify of an error.
if (!nowait)
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]