Hi Stephen,

I think disposing static components in the closing stage of a task is
required.
This is because your code(operators/UDFs) is part of the task, namely that
it can only be executed when the task is not disposed.

Thanks,
Zhu Zhu

Stephen Connolly <stephen.alan.conno...@gmail.com> 于2019年9月24日周二 上午2:13写道:

> Currently the best I can see is to make *everything* a Rich... and hook
> into the open and close methods... but feels very ugly.
>
>
>
> On Mon 23 Sep 2019 at 15:45, Stephen Connolly <
> stephen.alan.conno...@gmail.com> wrote:
>
>> We are using a 3rd party library that allocates some resources in one of
>> our topologies.
>>
>> Is there a listener or something that gets notified when the topology
>> starts / stops running in the Task Manager's JVM?
>>
>> The 3rd party library uses a singleton, so I need to initialize the
>> singleton when the first task is started on the task manager and clear out
>> the singleton when the last task is stopped in order to allow the topology
>> classloader to be unloadable.
>>
>> I had thought it could all be done from the Topology's main method, but
>> after much head-banging we were able to identify that *when run on a
>> distributed cluster* the main method is not invoked to start the topology
>> for each task manager.
>>
> --
> Sent from my phone
>

Reply via email to