Mark Payne created NIFI-424:
-------------------------------

             Summary: Processors / Controller Services should not be able to 
directly call ControllerService.initialize and 
ControllerService.onPropertyModified
                 Key: NIFI-424
                 URL: https://issues.apache.org/jira/browse/NIFI-424
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
            Reporter: Mark Payne


Currently, when a component obtains a Controller Service, it could call 
onPropertyModified or initialize, which can cause some weird and unexpected 
behaviors, since these methods are expected to be called only within the 
constraints of a well-defined component lifecycle. We should prevent this by 
intercepting the method call and throwing an IllegalStateException unless the 
method call is coming from the framework.

Implementation details: This can be achieved by looking at the 
StandardControllerServiceProvider, which implements all Controller Service 
interfaces with proxies. In that proxy, it should simply throw an Exception. 
Then, just ensure that the framework never calls the proxy but only calls 
directly into the implementing class.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to