3

我有一个测试程序在 HTTP 服务器上进行负载测试。它使用一些简单的 Jetty HttpClient 代码来使用 HttpClient 进行 HTTP GET。发送()。在日志中,我们时不时地看到这条消息——可能是错误或异常:

  • 无法停止线程”,例如(为了便于阅读而截断):

     [24412925] INFO  2014-Sep-03 23:20:12.967>  -- Request:  "http://server.url/getstring ...  
     [24413187] WARN  2014-Sep-03 23:20:13.229> HttpClient@692613741{STOPPING,8<=0<=200,i=0,q=0} Couldn't stop Thread[HttpClient@692613741-304742,5,]
     [24413187] INFO  2014-Sep-03 23:20:13.229>  -- Response #30,473, 00:00:00.262 = [ 22.8K received (max: 102.6K ): "<?xml version="1.0" encoding="UTF-8" standalone="no"?><message ..."
    

如您所见,消息是在收到 HTTP GET 之后出现的。没有捕获到异常(因为它们都被记录了)并且接收到的 XML 字符串是完整的。

我想捕捉或检测这个问题,也许可以阻止它。目前的问题或兴趣是:

  1. 我们可以在运行时在调用代码中捕捉或检测到这个问题吗?
    • 有没有办法监控 Jetty HttpClient 代码线程上的活动?
  2. 这是什么意思?
    • 有没有办法对此消息/事件进行一些诊断?
  3. 我们可以以编程方式终止 Jetty HttpClient 处理以清除这种事情吗?
    • 我问是因为在一天结束时,这个脚本需要在无人看管的情况下运行。因此,如果我们不能使用 Try/Catch 异常处理方法,那么第二好的方法是确保所有内部状态都被清除/清除。
  4. 这是 Linux 特有的吗?
    • 到目前为止,我们已经在运行相同 JAR 的 Linux 和 Windows 上看到了这一点。

我希望这是一个好奇心。然而,与此同时,根据一般原则,图书馆应该能够提供一些信息,或者作为例外,或者在这样的事情上带有状态码。对于无人值守模式或操作,我无法承受无法解释的线程问题。希望你们中的一个人有办法管理或处理这个问题,在此先感谢。

类似的问题

码头来源

此消息的一个位置虽然没有真正解释原因或网络状态。

是否有 Jetty 调用来监视或检查这种内部状态?

4

0 回答 0