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

ASF GitHub Bot commented on NIFI-3983:
--------------------------------------

Github user michaelandrepearce commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1863#discussion_r124447851
  
    --- Diff: 
nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/ConsumeJMS.java
 ---
    @@ -86,6 +86,31 @@
                 .defaultValue(CLIENT_ACK.getValue())
                 .build();
     
    +    static final PropertyDescriptor DURABLE_SUBSCRIBER = new 
PropertyDescriptor.Builder()
    +                                                             
.name("Durable subscription")
    +                                                             
.description("If destination is Topic if present then make it the consumer 
durable. " +
    +                                                                          
"@see 
https://docs.oracle.com/javaee/7/api/javax/jms/Session.html#createDurableConsumer-javax.jms.Topic-java.lang.String-";)
    +                                                             
.required(false)
    +                                                             
.expressionLanguageSupported(true)
    +                                                             
.defaultValue("true")
    --- End diff --
    
    If you use shared subscriber typically you would not set client Id. If a 
client Id is present then it would end up making different subscription names 
for each clientId. Like wise a clientId must be unique per connection. As such 
typically this would not be the behaviour one would want.
    For a durable not shared client Id though is manadatory.
    The clientId is set on connection and must be the first thing set after 
creation of a connection by spec. This is not accessible though in jms 
template. As such you're reliant on it being set by the providers connection 
factory. Typically setable via jndi properties for the vendors connection 
factory or via the connection URL strings.
    Please see jms spec.


> Support ability to make JMS 2.0 durable subscriptions on Topic
> --------------------------------------------------------------
>
>                 Key: NIFI-3983
>                 URL: https://issues.apache.org/jira/browse/NIFI-3983
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Michael Andre Pearce
>
> Currently the jms consumer, only supports standard queue consumption and 
> topic subscription. For topics, in JMS 2.0 you can make shared durable 
> subscribers which gives a subscription semantic similar to queue per 
> subscription name, meaning message is delivered once per subscription. This 
> is very useful in setups using JMS 2.0.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to