Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法在不重新启动的情况下清除weblogic服务器中的实体缓存?[用于调试]_Java_Debugging_Jpa_Ejb_Weblogic - Fatal编程技术网

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

Java 有没有办法在不重新启动的情况下清除weblogic服务器中的实体缓存?[用于调试],java,debugging,jpa,ejb,weblogic,Java,Debugging,Jpa,Ejb,Weblogic,我正在调查运行在Weblogic 10.3.4服务器上的应用程序中的一个错误。对于此调查,有时我需要直接清除数据库中的一些表(使用SQL Navigator)。但是这些更改不会立即反映在weblogic服务器中,除非我重新启动它。每次修改数据库中的数据时,重新启动此任务都是一项耗时的任务 我想知道是否有一种简单快捷的方法来清除weblogic服务器中的数据库缓存,并强制它重新加载修改后的数据。我认为如果我添加一个ejb,它调用与每个实体相关的flush方法,并且如果我调用该方法,它将完成此任务。

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

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

JPA2.0有一个缓存API,允许您清除缓存(全部清除)

EclipseLink在JPA2.0之前也有自己的API

看,,

您使用的是哪家JPA提供商?JPA 1.0有一个EntityManager.clear()api,该api将取消引用当前EntityManager中的所有托管实体,但如果您使用的是具有共享缓存的提供程序,则不会清除共享缓存。OpenJPA是默认的,但它也附带了EclipseLink,可以为JPA 2.0支持启用。如果它是EclipseLink,它附带了您可以使用的MBean,如下所述:@Chris JPA provider is EclipseLink。谢谢:)