有没有办法在 Hazelcast 中使用自定义执行程序?
Is there a way to use custom executor in Hazelcast?
可以使用ExecutorConfig
配置自定义执行器,例如:
Config config = new Config();
config.getExecutorConfig("my-custom-executor").setPoolSize(40).setName("my-executor");
这最终会创建一些 java.util.concurrent.ThreadPoolExecutor
child。
但是如何将自定义创建的 java.util.concurrent.ExecutorService
实现指定为 Hazelcast 中的某个命名执行程序?
目前无法创建由 Hazelcast 管理的自定义 j.u.c.ExecutorService
(当前最新的 GA 版本是 3.12.5 和 4.0即将发布)。所有执行程序使用每个自定义执行程序的单独任务队列共享相同的缓存线程池(参见 CachedExecutorServiceDelegate)。而这个共享线程池是j.u.c.ThreadPoolExecutor
.
的一个实例
我认为将其添加为新功能应该相当容易。您可以在 Issue Tracker 上创建一个问题,或者更好地发送带有实现的拉取请求。
可以使用ExecutorConfig
配置自定义执行器,例如:
Config config = new Config();
config.getExecutorConfig("my-custom-executor").setPoolSize(40).setName("my-executor");
这最终会创建一些 java.util.concurrent.ThreadPoolExecutor
child。
但是如何将自定义创建的 java.util.concurrent.ExecutorService
实现指定为 Hazelcast 中的某个命名执行程序?
目前无法创建由 Hazelcast 管理的自定义 j.u.c.ExecutorService
(当前最新的 GA 版本是 3.12.5 和 4.0即将发布)。所有执行程序使用每个自定义执行程序的单独任务队列共享相同的缓存线程池(参见 CachedExecutorServiceDelegate)。而这个共享线程池是j.u.c.ThreadPoolExecutor
.
我认为将其添加为新功能应该相当容易。您可以在 Issue Tracker 上创建一个问题,或者更好地发送带有实现的拉取请求。