[ https://issues.apache.org/jira/browse/NIFI-4864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16395794#comment-16395794 ]
ASF GitHub Bot commented on NIFI-4864: -------------------------------------- Github user bbende commented on the issue: https://github.com/apache/nifi/pull/2470 @zenfenan this seems to be working well, I had a few minor changes I posted here: https://github.com/bbende/nifi/commits/NIFI-4864 If you are good with that last commit I made then I will go ahead and merge this. To summarize my changes... - Changed to using StringUtils.eqausl(oldFingerprintg, newFingerprint) because its possible old fingerprint is null or empty and we would still want to replace it with the new one if we have a new one - Made the reload method synchronized - Removed a the has/get/set fingerprint methods from the interface to try and keep all the fingerprint logic inside of AbstractConfiguredComponent > Additional Resources property pointing at a directory won't find new JARs > ------------------------------------------------------------------------- > > Key: NIFI-4864 > URL: https://issues.apache.org/jira/browse/NIFI-4864 > Project: Apache NiFi > Issue Type: Bug > Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.5.0 > Reporter: Bryan Bende > Assignee: Sivaprasanna Sethuraman > Priority: Minor > > If you have a processor/Controller Service/Reporting Task that has a property > with dynamicallyModifiesClasspath(true) and you set the value to a directory, > the resources in that directory will only be calculated when that property > changes. This means if you added JARs to the directory later, and stopped and > started your processor, those new JARs still won't be available. You would > have to change the property to a new directory, or back and forth to some > other directory, to force a recalculation. > The setProperties method in AbstractConfiguredComponent is where it looks at > incoming property changes and determines if any were for classpath related > properties and then calls reload accordingly. > We would need to consider the case where setProperties is never even being > called, someone just stops and starts the processor and would want to pick up > any new JARs added. > A possible solution might be to computer some kind of hash/fingerprint of the > URLs each time reload is called, and then when starting the processor we > could recompute the fingerprint and compare it to the previous one. If they > are different then we call reload before starting the component. -- This message was sent by Atlassian JIRA (v7.6.3#76005)