[
https://issues.apache.org/jira/browse/QPID-6060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14116331#comment-14116331
]
Rob Godfrey commented on QPID-6060:
-----------------------------------
Yes... though AMQP 0-10 defines a binding key in exchange.bind as of type
"str8" and the description of the field contains no restrictions on the valid
characters in a binding name.
Similarly other than defining the type to be "shortstr" AMQP 0-9-1 imposes no
restrictions on queue.bind routing-key.
I don't think that that means every broker has to accept such binding keys...
just that the Java Broker should either allow them (in which case you should be
able to use them through the Management Console) or explicitly forbid them.
> [Java Broker] Attempting to create a binding with a binding key containing a
> / through the HTTP management console causes an error
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-6060
> URL: https://issues.apache.org/jira/browse/QPID-6060
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Reporter: Rob Godfrey
> Attachments: Screen Shot 2014-08-30 at 12.11.34.png
>
>
> It should be valid to create bindings where the binding key contains the /
> character, however the HTTP management console fails with an error.
> See attached screen shot for the error seen. In the broker log, this error
> appears:
> {noformat}
> 2014-08-30 12:09:36,212 ERROR [qtp2099285235-73 -
> /api/latest/binding/test/test/amq.direct/myQueue/bar%2Fbaz]
> (rest.AbstractServlet) - Unable to perform action
> java.lang.IllegalArgumentException: Path to object to create must be fully
> specified. Found [] of size 0 expecting 5
> at
> org.apache.qpid.server.management.plugin.servlet.rest.RestServlet.doPutWithSubjectAndActor(RestServlet.java:375)
> at
> org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet$3.run(AbstractServlet.java:134)
> at
> org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet$3.run(AbstractServlet.java:130)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.doWithSubjectAndActor(AbstractServlet.java:210)
> at
> org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.doPut(AbstractServlet.java:128)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:598)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
> at
> org.apache.qpid.server.management.plugin.filter.ForbiddingAuthorisationFilter.doFilter(ForbiddingAuthorisationFilter.java:90)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:366)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:724)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]