mirror of https://github.com/apache/nifi.git
NIFI-2745 added _source destination name_ attribute to ConsumeJMS
This closes #992
This commit is contained in:
parent
938e32ed97
commit
d36b76cc60
|
@ -114,6 +114,8 @@ abstract class AbstractJMSProcessor<T extends JMSWorker> extends AbstractProcess
|
|||
|
||||
private volatile CachingConnectionFactory cachingConnectionFactory;
|
||||
|
||||
protected volatile String destinationName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
@ -199,7 +201,8 @@ abstract class AbstractJMSProcessor<T extends JMSWorker> extends AbstractProcess
|
|||
|
||||
JmsTemplate jmsTemplate = new JmsTemplate();
|
||||
jmsTemplate.setConnectionFactory(this.cachingConnectionFactory);
|
||||
jmsTemplate.setDefaultDestinationName(context.getProperty(DESTINATION).evaluateAttributeExpressions().getValue());
|
||||
this.destinationName = context.getProperty(DESTINATION).evaluateAttributeExpressions().getValue();
|
||||
jmsTemplate.setDefaultDestinationName(this.destinationName);
|
||||
jmsTemplate.setPubSubDomain(TOPIC.equals(context.getProperty(DESTINATION_TYPE).getValue()));
|
||||
|
||||
// set of properties that may be good candidates for exposure via configuration
|
||||
|
|
|
@ -54,6 +54,8 @@ import org.springframework.jms.core.JmsTemplate;
|
|||
@SeeAlso(value = { PublishJMS.class, JMSConnectionFactoryProvider.class })
|
||||
public class ConsumeJMS extends AbstractJMSProcessor<JMSConsumer> {
|
||||
|
||||
public static final String JMS_SOURCE_DESTINATION_NAME = "jms.source.destination";
|
||||
|
||||
public static final Relationship REL_SUCCESS = new Relationship.Builder()
|
||||
.name("success")
|
||||
.description("All FlowFiles that are received from the JMS Destination are routed to this relationship")
|
||||
|
@ -118,6 +120,7 @@ public class ConsumeJMS extends AbstractJMSProcessor<JMSConsumer> {
|
|||
for (Entry<String, Object> headersEntry : jmsHeaders.entrySet()) {
|
||||
attributes.put(headersEntry.getKey(), String.valueOf(headersEntry.getValue()));
|
||||
}
|
||||
attributes.put(JMS_SOURCE_DESTINATION_NAME, this.destinationName);
|
||||
flowFile = processSession.putAllAttributes(flowFile, attributes);
|
||||
return flowFile;
|
||||
}
|
||||
|
|
|
@ -54,6 +54,8 @@ public class ConsumeJMSTest {
|
|||
assertNotNull(successFF);
|
||||
assertEquals("cooQueue", successFF.getAttributes().get(JmsHeaders.DESTINATION));
|
||||
successFF.assertContentEquals("Hey dude!".getBytes());
|
||||
String sourceDestination = successFF.getAttribute(ConsumeJMS.JMS_SOURCE_DESTINATION_NAME);
|
||||
assertNotNull(sourceDestination);
|
||||
|
||||
((CachingConnectionFactory) jmsTemplate.getConnectionFactory()).destroy();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue