Sure, the branch is available here : https://github.com/pvillard31/nifi/tree/NIFI-1537 Let me know if I can be of any help.
2016-03-02 11:48 GMT+01:00 Oleg Zhurakousky <[email protected]>: > Pierre > > Is your branch available to look at? May be a second pair of eyes is due ;) > > Cheers > Oleg > > > On Mar 2, 2016, at 4:20 AM, Pierre Villard <[email protected]> > wrote: > > > > Mark, > > > > I just checked and it seems to be OK. My processor is a NAR and the > > nifi-api.jar is not into the nar. Actually, I took the AMQP processor as > > example to build and integrate the SNMP one in Nifi, so not sure to see > why > > it does not work. > > > > 2016-03-01 18:38 GMT+01:00 Mark Payne <[email protected]>: > > > >> Pierre, > >> > >> This feels to me like it could potentially be a classpath issue. The > >> nifi-api.jar file is on the > >> root class path (exists in $NIFI_HOME/lib). If there is a different > class > >> definition in your processor, > >> then it will not find the annotation. > >> > >> If you are deploying your processor as a NAR, though, the maven nar > plugin > >> should prevent you > >> from bundling the nifi-api.jar into the nar. It may be worth while > though > >> to poke around and make sure > >> that you don't have two copies of the OnStopped annotation class defined > >> in the classpath, though. > >> > >> Thanks > >> -Mark > >> > >> > >> > >>> On Mar 1, 2016, at 12:15 PM, Pierre Villard < > [email protected]> > >> wrote: > >>> > >>> Nice! I used your nifi-ide-integration project to launch Nifi from my > IDE > >>> and I reproduced the issue just by starting/stopping the processor > (with > >> a > >>> breakpoint in ReflectionUtils). I'll try to find some time to reproduce > >> it > >>> in a unit test if this can help to find the issue. > >>> > >>> Pierre > >>> > >>> 2016-03-01 13:56 GMT+01:00 Oleg Zhurakousky < > >> [email protected]>: > >>> > >>>> Pierre > >>>> > >>>> You can simplify your interactive debugging and do it right from IDE > >>>> https://github.com/olegz/nifi-ide-integration/ > >>>> Just make sure that versioning in Gradle reflects current version. > >>>> I’ll update as well when I get a chance. > >>>> > >>>> Oleg > >>>> > >>>> On Mar 1, 2016, at 4:47 AM, Pierre Villard < > [email protected] > >>>> <mailto:[email protected]>> wrote: > >>>> > >>>> No it is not in a unit test, I remotely attached my Eclipse in debug > >> mode > >>>> to my deployed Nifi instance. > >>>> I can try to code a unit test and reproduce the issue using the > example > >> you > >>>> gave. > >>>> > >>>> 2016-02-29 18:22 GMT+01:00 Oleg Zhurakousky < > >> [email protected] > >>>> <mailto:[email protected]>>: > >>>> > >>>> I meant could you share the test code (via github) > >>>> > >>>> On Feb 29, 2016, at 12:18 PM, Oleg Zhurakousky < > >>>> [email protected]<mailto:[email protected]>> > >> wrote: > >>>> > >>>> Ok, so you are invoking ‘quietlyInvokeMethodsWithAnnotations’ in your > >>>> test code? > >>>> If so could you your test code where you invoke it? I have a hunch, > but > >>>> want to look before I speculate. > >>>> > >>>> Cheers > >>>> Oleg > >>>> On Feb 29, 2016, at 11:58 AM, Pierre Villard < > >>>> [email protected]<mailto:[email protected]>> > wrote: > >>>> > >>>> I just wanted to test the processors with local SNMP set-up and I > >>>> noticed > >>>> that modification of properties in my processor didn't have any > effect. > >>>> So I switched to debug, added a processor, started it, and stopped it > >>>> just > >>>> after. Conclusion: my close() method is never called. > >>>> I correctly go through quietlyInvokeMethodsWithAnnotations() in > >>>> ReflectionUtils but since the method is not seen as annotated, the > close > >>>> method is not called. > >>>> > >>>> Thanks, > >>>> Pierre > >>>> > >>>> 2016-02-28 22:24 GMT+01:00 Oleg Zhurakousky < > >>>> [email protected]<mailto:[email protected]>>: > >>>> > >>>> I am puzzled as I can’t see how can it not work. > >>>> Are there steps to reproduce it? I am trying to read into your initial > >>>> email and suspecting you were doing some sort of testing, so want to > >>>> make > >>>> sure I am doing the same thing. . . . > >>>> > >>>> Oleg > >>>> On Feb 28, 2016, at 2:46 PM, Pierre Villard < > >>>> [email protected]<mailto:[email protected]>> > >>>> wrote: > >>>> > >>>> No I am not under testing framework, all my unit tests are OK. I > >>>> wanted > >>>> to > >>>> perform some additional tests and deployed Nifi with the new > >>>> processors. > >>>> > >>>> You can find the method here [1] if you want to have a look. > >>>> Thanks for your help. > >>>> > >>>> [1] > >>>> > >>>> > >>>> > >>>> > >> > https://github.com/pvillard31/nifi/blob/NIFI-1537/nifi-nar-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/processors/AbstractSNMPProcessor.java#L212-L243 > >>>> > >>>> 2016-02-28 17:11 GMT+01:00 Oleg Zhurakousky < > >>>> [email protected]>: > >>>> > >>>> Also, reading Aldrin’s response and assuming you are using Test > >>>> mocks I > >>>> would probably recommend to not use them for tests that require full > >>>> lifecycle test of the component until we actually improve it. > >>>> Instead you can code straight agains FlowController essentially > >>>> executing > >>>> as a full blown NiFi minus UI. Here is an example: > >>>> > >>>> > >>>> > >>>> > >> > https://github.com/apache/nifi/pull/210/files#diff-7be646c38c5447f7824e444343633829R92 > >>>> > >>>> Cheers > >>>> Oleg > >>>> > >>>> On Feb 28, 2016, at 11:07 AM, Oleg Zhurakousky < > >>>> [email protected]<mailto:[email protected]>> > >>>> wrote: > >>>> > >>>> Pierre > >>>> Can you paste the method definition? Just want to look at the > >>>> signature > >>>> and see if there is something obvious > >>>> > >>>> Sent from my iPhone > >>>> > >>>> On Feb 28, 2016, at 10:26, Pierre Villard < > >>>> [email protected] > >>>> <mailto:[email protected]>> wrote: > >>>> > >>>> Hi, > >>>> > >>>> I am working on SNMP processors [1] and I'm almost ready for a PR... > >>>> but I > >>>> have an issue I can't explain. In my processors, I have implemented a > >>>> method close() with the @OnStopped annotation but it seems the > >>>> annotation > >>>> is not seen. When debugging and stopping my processor, I correctly go > >>>> through quietlyInvokeMethodsWithAnnotations() in ReflectionUtils and > >>>> my > >>>> method close() appears without any annotation. I guess I am missing > >>>> something simple. Any idea? > >>>> > >>>> [1] https://issues.apache.org/jira/browse/NIFI-1537 > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >> > >> > >
