AFAIK, RichFunction is the only way you could take for this purpose. It's designed for life cycle management of functions.
Regards, Dian > 在 2019年9月24日,上午2:13,Stephen Connolly <stephen.alan.conno...@gmail.com> 写道: > > 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 <mailto: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