调用Future的调用方法

时间:2017-12-21 06:41:12

标签: java executorservice futuretask

我有这段代码:

final Future<Map<String, Object>> handle = FrameworkUtil.getExecutorService("GENERAL").submit(
                new Callable<Map<String, Object>>() {

                    @SuppressWarnings("unchecked")
                    @Override
                    public Map<String, Object> call() throws SSPolicyException {
                        LOG.debug("calling SSPolicyEvaluator.getPolicyDecision()");
                        Map<String, Object> policyDecision = policyModule.getPolicyDecision(ssoTokenStr, "*", actions, env);
                        LOG.debug("SSPolicyEvaluator.getPolicyDecision() returned successfully");
                        return policyDecision;
                    }
                });

大多数时候它工作正常,但是现在或者不时地执行对方法call的调用(即使没有打印日志行。)并且我调用超时

handle.get(TIME_OUT_SECONDS, TimeUnit.SECONDS);

检查线程转储,但没有线程被卡住,池没有被充分利用。

call未执行的其他原因可能是什么。

0 个答案:

没有答案