【发布时间】:2021-05-06 16:27:04
【问题描述】:
我正在开发一个应用程序,其中注入了一些服务。应用程序关闭后,我想定义调用 destroy() 函数的顺序。
例如,“服务 A 需要在服务 B 之前关闭”。
有没有办法做这样的事情?
【问题讨论】:
-
将服务引用放入TreeMap,键为销毁顺序。然后遍历树销毁每个服务,并在调用之间放入一个简短的
wait()。或 ArrayList。 -
只是因为我很好奇:您的
destroy()函数实际上是做什么的,为什么这些函数依赖于之前关闭的另一个服务?我一直认为 CDI 的主要目的之一是您不必担心这些事情。 -
@maio290 在这种情况下,我有一个管理对象列表的服务。我有其他人在此对象列表中请求并执行操作。关闭时,理想的情况是建立订单。老实说,这是一个“很高兴”,所以我正在调查情况。