Github user ijokarumawak commented on a diff in the pull request:
https://github.com/apache/nifi/pull/563#discussion_r72559265
--- Diff:
nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-pubsub-processors/pom.xml ---
@@ -35,6 +35,10 @@
<artifactId>nifi-utils</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-expression-language</artifactId>
--- End diff --
I added EL dependency to use StandardPropertyValue class at
ConsumeKafka.onPropertyModified.
Since ConsumeKafka allows EL for properties that needed to get state from
Kafka, EL has to be evaluated at onPropertyModified, too. But to do so, we need
PropertyValue instance, which is not available at onPropertyModified because it
only receives String representation of oldValue and newValue. An implementation
class of PropertyValue is not included in nifi-api. So, I needed to add the EL
dependency.
However, I felt it's a little bit strange to support EL for things like
'topic' or 'bootstrap_servers', since ConsumeKafka doesn't take input flow
files, and these properties can not be changed after ConsumerKafka connects to
Kafka. It keep using the same kafkaResource instance. So, those property values
are more static, rather than dynamically evaluated. It makes sense to support
EL for those values for PublishKafka, though.
---
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.
---