有没有办法在不重新启动的情况下清除weblogic服务器中的实体缓存? [用于调试]

时间:2013-01-16 12:00:16

标签: java debugging jpa ejb weblogic

我正在调查我在Weblogic 10.3.4服务器上运行的应用程序中的错误。对于此调查,有时我需要直接清除数据库中的某些表(使用SQL Navigator)。但是这些更改不会立即反映在weblogic服务器中,除非我重新启动它。每次修改数据库中的数据时,重新启动它都是一项耗时的任务。

我想知道是否有一种简单快捷的方法来清除weblogic服务器中的数据库缓存并强制它重新加载修改后的数据。我想如果我添加一个调用与每个实体相关的flush方法的ejb,并且如果我调用该方法,它将执行此任务。  但是,您是否有任何建议或任何其他方式来执行此任务,可能是通过更改weblogic服务器设置? 我们可以做一个方法调用来强制刷新当前容器中的所有实体吗?

1 个答案:

答案 0 :(得分:3)

JPA 2.0有一个Cache API,允许您清除缓存(evictAll)。

EclipseLink在JPA 2.0之前也有自己的API。

请参阅, http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Cache_API