小编dre*_*her的帖子

使用AsyncListener#onError

我不明白何时调用AsyncListener#onError方法.Javadoc没有帮助:

通知此AsyncListener异步操作未能完成.

怎么会失败?如何重现此错误?

更新:

// in HttpServlet doGet method
AsyncContext asyncContext = req.startAsync();
asyncContext.addListener(new AsyncListener() {
    // some code
    @Override
    public void onError(AsyncEvent event) {
        // when is it called?
    }
});
executeInSomeOtherThread(asyncContext);
Run Code Online (Sandbox Code Playgroud)

在其他线程中我需要做什么来使这个异步操作失败?

java asynchronous servlet-3.0

13
推荐指数
1
解决办法
961
查看次数

ParallelGCFailedAllocation的大"同步"值

有时我会在gc.log中看到长时间停顿

2014-07-18T18:42:26.137 + 0400:7846.980:[GC [PSYoungGen:86267K-> 10032K(87744K)] 251198K-175254K(272512K),0.0066190 secs] [次:用户= 0.08 sys = 0.00,real = 0.01秒]

应用程序线程停止的总时间:0.6394170

应用程序线程停止的总时间:0.0014570秒

但这些暂停不会影响GC时间和CPU使用时间.

安全点统计(+ XX:PrintSafePointStatistics):

vmop [threads:total initial_running wait_to_block] [time:spin block sync cleanup vmop] page_trap_count 7846.348:ParallelGCFailedAllocation [370 0 2] [0 0 630 1 7] 0

(同步时间= 630毫秒)"同步"在这种情况下意味着什么?

performance garbage-collection jvm

2
推荐指数
1
解决办法
1193
查看次数