[jboss-dev-forums] [Design of JBossCache] - Service threads
manik.surtani@jboss.com
do-not-reply at jboss.com
Tue Jul 15 13:57:32 EDT 2008
This is in response to a few related JIRAs:
JBCACHE-1262
JBCACHE-1268
JBCACHE-1108
There are other internal service threads as well, such as async cache loader writer threads, repl queue threads, etc.
WRT. the JIRAs above, it makes sense to refactor these to use an ExecutorService and then allow users to pass in their own ExecutorService, either via an ExecutorServiceProvider interface, or by using a setter on the Configuration (for IOC frameworks). This would default to a fixed pool service using a single thread, except for the case of JBCACHE-1262 and JBCACHE-1108 where it may make sense to allow users to configure a pool size.
Now my question is this - how much flexibility would people want? Does it make sense to use a single ExecutorService for all such service tasks? Or does it make sense for this to be more fine-grained?
Brian, this would be related to your use case of not using the internal eviction thread for SFSB state.
Perhaps what we need is a decoupling between the executors themselves and the tasks they are used for - e.g.,
| <executors>
| <executor name="evictionExecutor">
| <pool size="1" />
| <async />
| </executor>
| <executor name="genericExecutor">
| <lookupClass>com.company.MyAppExecutorProvider</>
| </executor>
| </executors>
|
| ...
|
| <eviction>
| <executor name="evictionExecutor" />
| ...
| </eviction>
|
| ...
|
| <notifications>
| <executor name="genericExecutor" />
| </notifications>
|
| <replication>
| <async>
| <executor name="genericExecutor" />
| </async>
| ...
| </replication>
| ...
|
Thoughts?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4164568#4164568
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4164568
More information about the jboss-dev-forums
mailing list