当我创建一个新的Spring ApplicationContext时,例如via
final ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfiguration.class);
Run Code Online (Sandbox Code Playgroud)
Eclipse(STS 3.2.0)将其标记为潜在的资源泄漏,抱怨它永远不会关闭('资源泄漏:'ac'永远不会关闭).
到现在为止还挺好.然后我试图寻找到这个问题,并没有能够找到一个close()或shutdown()或类似的方法,即使可以让我关闭ApplicationContext.这是一个Eclipse警告是乱七八糟的,有意设计还是我错过了什么?
您声明ac为ApplicationContext不定义一个close()方法.而不是使用任何超类型的AnnotationConfigApplicationContext扩展Closeable(例如ConfigurableApplicationContext)提供close()释放所有资源所需的方法.
如果使用Java 7,则可以使用try-with-resources语句为您完成工作
try (AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(...))
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9813 次 |
| 最近记录: |