RejectedExecutionException和clojure并发

时间:2011-08-09 23:34:26

标签: debugging concurrency clojure jvm

在将一些clojure代码部署到新服务器时,我遇到了RejectedExecutionException和无响应代理的问题。 REPL中的小例子,如

(pmap #(% %) (range 10))

似乎工作正常。但是,运行pmappcalls后,在使用一些懒惰的seq(不同数量,但绝不多于少数)之后抛出RejectedExecutionException。相比之下,代理不会抛出RejectedExecutionException。可以初始化代理,但不执行使用sendsend-off分派的任何操作。

代理的问题听起来很像here所描述的症状。另外,我没有在任何地方使用shutdown-agents

我提前道歉,因为缺乏可重复的例子。我遇到此问题的主要困难是无法在其他计算机上重现任何此类行为。欢迎任何建议!

使用64位HotSpot Java 1.6.0_20和clojure 1.2.1。

1 个答案:

答案 0 :(得分:1)

你可能正在使用一个破损的Leiningen版本,或者它有多个冲突版本和/或swank。请参阅https://github.com/technomancy/leiningen/issues/228 - 关于此问题的众多讨论之一,也是我目前唯一可以轻松找到的讨论。