调用一次的JAX-RS方法在Weblogic中被多次调用

时间:2015-03-22 10:57:24

标签: java netbeans weblogic jax-rs weblogic12c

我编写了一个REST类,其中包含一个调用查询数据库表的方法。有效。当时我很开心。直到我从weblogic日志中意识到该方法被多次调用,即使我调用了一次。

我写了另一个示例方法,同样的事情发生了。

下面:

@GET
    @Produces(MediaType.TEXT_PLAIN)
    @Path("all")
    public String getJson(@DefaultValue("Nothing in a") @QueryParam("a") String a,
            @DefaultValue("Nothing in b") @QueryParam("b") String b) {
        System.out.println("CALLED DEFAULT SERVICE");
        return "Test works: " + a + " " + b;
    }

注意我打印了一个打印(CALLED DEFAULT SERVICE)。我想确定这个方法是不是被多次调用,或者我之前是否看过这些东西。

当我打电话给浏览器时,一切都像魅力一样,除了日志中我看到了:

INFO: Instantiated the Application class org.greenpole.webservices_rest.ApplicationConfig
CALLED DEFAULT SERVICE
Mar 22, 2015 11:42:53 AM weblogic.jaxrs.server.portable.JaxRsMonitoringProvider onResourceMethod
WARNING: Monitoring Disabled
<22-Mar-2015 11:42:53 o'clock WAT> <Warning> <weblogic.jaxrs.server.portable.JaxRsMonitoringProvider> <BEA-000000> <Monitoring Disabled> 
CALLED DEFAULT SERVICE
CALLED DEFAULT SERVICE

在以下行之后调用该方法:“实例化Application类org.greenpole.webservices_rest.ApplicationConfig ”。之后,看着日志,我注意到它被调用两次,但是由什么和为什么??

以前有没有人经历过这个?

1 个答案:

答案 0 :(得分:0)

在进行了大量研究和额外测试之后,我发现当我使用Chrome时会出现这种异常现象。我用Firefox测试了我的REST服务,没有发生任何事情。

我还添加了一个全局变量,只要多次调用该方法就会增加该变量,并且它只增加到1,即使打印输出多次出现 - 这意味着它实际上不会多次调用该方法。它只调用一次,只要它认为合适就重复打印日志。奇怪。

无论如何,我很高兴!