You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2016/06/23 16:12:16 UTC

[jira] [Comment Edited] (QPID-6954) [Java Broker] Add the ability to define "policies" for node auto-creation based on address

    [ https://issues.apache.org/jira/browse/QPID-6954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346682#comment-15346682 ] 

Keith Wall edited comment on QPID-6954 at 6/23/16 4:11 PM:
-----------------------------------------------------------

My comments on the implementation:
* {{AbstractVirtualHost#validateNodeAutoCreationPolicy}} - exception messages should identify the the NodeAutoCreationPolicy which is at fault. Should NodeAutoCreationPolicy have a name?
* {{VirtualHost#getNodeAutoCreationPolicies}} attribute has no description
* There are no tests for the feature. I would at least expect a test testing the ability to create a queue and an exchange,

And a comment on the feature itself:

* As a user I can auto create message source and message destinations, but I can't cause Bindings to come in existence.  Is this a gap?

Finally:

There is no UI or end-user docs for the feature - is this required for 6.1?





was (Author: k-wall):
My comments on the implementation:
* {{AbstractVirtualHost#validateNodeAutoCreationPolicy}} - exception messages should identify the the NodeAutoCreationPolicy which is at fault. Should NodeAutoCreationPolicy have a name?
* VirtualHost#getNodeAutoCreationPolicies attribute has no description
* There are no tests for the feature. I would at least expect a test testing the ability to create a queue and an exchange,

And a comment on the feature itself:

* As a user I can auto create message source and message destinations, but I can't cause Bindings to come in existence.  Is this a gap?

Finally:

There is no UI or end-user docs for the feature - is this required for 6.1?




> [Java Broker] Add the ability to define "policies" for node auto-creation based on address
> ------------------------------------------------------------------------------------------
>
>                 Key: QPID-6954
>                 URL: https://issues.apache.org/jira/browse/QPID-6954
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Rob Godfrey
>             Fix For: qpid-java-6.1
>
>
> See: [this mail|http://mail-archives.apache.org/mod_mbox/qpid-users/201512.mbox/%3C55CF1C5A18D1B84CAE275B17381A7C6CC174E2825B%40winavi5.AviFN.local%3E] and QPID-5251 (C++ Broker equivalent).
> It is sometimes useful to be able to provide behaviours based on namespaces/patterns such that queues/exchanges which match those patterns get automatically created.
> Add a new property to the virtualHost called "nodeAutoCreationPolicies", which is a list of polices.  A policy is an object with attributes "pattern", "nodeType", "createdOnPublish", "createdOnConsume" and "attributes".
> * pattern is a Java RegExp which will be matched against the name used by the client for an incoming published message / consume request.
> * nodeType is one of "queue" or "exchange".
> * createdOnPublish is a boolean indicating whether the node should be created when new messages are published (or an incoming link is created)
> * createdOnConsume is a boolean indicating whether the node should be created when a new consumer is created
> * attributes is a map, containing the default attributes of the node to be created.  These attributes are the same used in the REST API for the node type.
> The nodeAutoCreationPolicies can be set via the REST API, or (if you are using a JSON VirtualHostNode) by hand editing the virtualHost configuration.
> For instance here is a snippet from a JSON virtualHost configuration with defined nodeAutoCreationPolicies:
> {code:javascript}
> {
>   "id" : "134c0b84-b1b2-46c8-ba2d-f05ba13be56f",
>   "name" : "default",
>   "type" : "BDB",
>   "modelVersion" : "6.1",
>   "nodeAutoCreationPolicies" : [ {
>     "pattern" : "rob\\.durable\\..*",
>     "createdOnPublish" : true,
>     "createdOnConsume" : true,
>     "nodeType" : "queue",
>     "attributes" : {
>       "durable" : true
>     }
>   }, {
>     "pattern" : "rob\\.exchange\\..*",
>     "createdOnPublish" : true,
>     "createdOnConsume" : false,
>     "nodeType" : "exchange",
>     "attributes" : {
>       "type" : "direct",
>       "durable" : true
>     }
>   } ],
>   "queue.deadLetterQueueEnabled" : false,
>   "exchanges" : [ {
>     "id" : "5fcbd3f5-fe7c-4ab0-9605-950d7784844c",
>     "name" : "amq.direct",
>     "type" : "direct"
>   }, {
>     "id" : "3f17dd6f-269b-43a6-868e-dd487271719a",
>     "name" : "amq.fanout",
>     "type" : "fanout"
>   }, {
>     "id" : "45e9eba0-3bcc-4634-b042-87a652447cbe",
>     "name" : "amq.match",
>     "type" : "headers"
>   }, {
>     "id" : "d7b703c4-0d64-4a44-8008-1314a18e30e7",
>     "name" : "amq.topic",
>     "type" : "topic"
>   } ],
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org