在GAE上使用ExecutorService时的安全异常

时间:2013-06-16 20:51:45

标签: google-app-engine

我在Google App Engine上使用ExecutorService时遇到异常。

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThread") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:375)

我的代码是

ExecutorService service = Executors.newFixedThreadPool(25,com.google.appengine.api.ThreadManager.currentRequestThreadFactory());        
List<Future<JSONObject>> results = service.invokeAll(jobs,45,TimeUnit.Seconds);

看起来Thread.interrupt似乎导致安全管理器触发。该文档有点不清楚,有些地方说中断是可以的,其他地方它说它只在当前线程上可用。

我尝试复制相同的东西,产生一个线程然后中断它,而不使用ExecutorService并且它工作正常。

任何想法,如果这是一个我可以调整(不太可能)或一个错误的安全事情?我宁愿不重新实现ExecutorService。

谢谢!

0 个答案:

没有答案