Hi Kumiko,
I would recommend that in your OnEnabled method that you just create a
ScheduledExecutorService and
schedule the task to occur every 24 hours or however you'd like. Then, in your
OnDisabled method call
shutdown on that ScheduledExecutorService.
A word to the wise, though - NiFi tends to have quite a few threads running, so
for debugging purposes
it is easier to see what's going on if you provide a ThreadFactory to your
executor so that you can name
your threads appropriately. Something like:
Executors.newScheduledThreadPool(3, new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
final Thread t = Executors.defaultThreadFactory().newThread(r);
t.setDaemon(true);
t.setName("Refresh Azure DataLake Token");
return t;
}
});
I hope this helps!
Thanks
-Mark
> On Jun 17, 2016, at 3:00 PM, Kumiko Yada <[email protected]> wrote:
>
> Hello,
>
> I wrote the Custom Controller Service to authenticate the Azure Datalake
> Store, and I’d like to refresh a token every 24 hours. What is the best way
> to authenticate every 24 hours? Should I loop the authenticate code every 24
> hours in OnEnabled?
>
> Thanks
> Kumiko