调用一次的 JAX-RS 方法在 Weblogic 中被调用多次
JAX-RS Method called once gets invoked multiple times in Weblogic
我写了一个 REST class 并在其中调用了查询数据库的方法 table。有效。当时我很开心。直到我从 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;
}
请注意,我打印了一份文件(称为默认服务)。我想确定该方法是否被多次调用,或者我之前是否看到过。
当我调用浏览器时,一切都很顺利,除了我在日志中看到的:
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
在以下行之后调用该方法:“实例化应用程序 class org.greenpole.webservices_rest.ApplicationConfig”。之后,查看日志,我注意到它被调用了两次,但是调用的是什么以及为什么??
有没有人以前遇到过这种情况?
经过大量的研究和额外的测试,我发现这个异常发生在我使用Chrome的时候。我用 Firefox 测试了我的 REST 服务,但没有任何反应。
我还添加了一个全局变量,该变量会在该方法被多次调用时递增,并且它只会递增到 1,即使打印输出出现多次 - 这意味着,它实际上并没有多次调用该方法。它调用它一次,然后在它认为合适的时间内一遍又一遍地重新打印日志。奇怪。
总之,我很高兴!
我写了一个 REST class 并在其中调用了查询数据库的方法 table。有效。当时我很开心。直到我从 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;
}
请注意,我打印了一份文件(称为默认服务)。我想确定该方法是否被多次调用,或者我之前是否看到过。
当我调用浏览器时,一切都很顺利,除了我在日志中看到的:
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
在以下行之后调用该方法:“实例化应用程序 class org.greenpole.webservices_rest.ApplicationConfig”。之后,查看日志,我注意到它被调用了两次,但是调用的是什么以及为什么??
有没有人以前遇到过这种情况?
经过大量的研究和额外的测试,我发现这个异常发生在我使用Chrome的时候。我用 Firefox 测试了我的 REST 服务,但没有任何反应。
我还添加了一个全局变量,该变量会在该方法被多次调用时递增,并且它只会递增到 1,即使打印输出出现多次 - 这意味着,它实际上并没有多次调用该方法。它调用它一次,然后在它认为合适的时间内一遍又一遍地重新打印日志。奇怪。
总之,我很高兴!