【发布时间】:2016-03-27 05:25:25
【问题描述】:
在我们的应用程序中,我们通常有一些在应用程序范围内使用的资源(实用程序),例如可能是 apache HttpClient,或者在我的情况下是 ConcurrencyUtils,它是一个实用程序类,用于管理所有线程池cpu 密集和 io 任务(为反应流等添加一些调度程序......很多自定义的东西)。
现在当我通过 spring 初始化我的上下文时,我必须做一些不自然的事情(为了初始化和销毁静态资源)
注意ConcurrencyUtil 只是一个没有用的假类,我们从不使用它,但我们使用ConcurrencyUtils 的静态方法,并且这个类只确保调用 init 和 destroy(我不知道如何确保在所有 bean 被销毁后调用destroy)...
那么我们如何在 spring context 创建任何 bean 之前和 spring context 释放它的所有 bean 之后运行一段代码(并且自己即将被回收)?
用spring初始化和释放静态资源的正确方法是什么?
【问题讨论】:
-
请把图片转成文字。
-
你看不到那些?我认为当人们不会实际复制粘贴代码时图像会更好(当示例很简单时)
-
我可以看到它们。但是,如果有人想复制粘贴您的代码以帮助您怎么办?我们也不想用代码图像污染这个地方。
-
当然,我通常会粘贴代码,当它的某些东西可能想要复制尝试时,但是这是一个相当简单的示例,我认为没有人会尝试复制粘贴 :)
标签: java spring initialization resource-management