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.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---