org.mule.config
Class ChainedThreadingProfile
java.lang.Object
org.mule.config.ChainedThreadingProfile
- All Implemented Interfaces:
- ThreadingProfile, MuleContextAware
public class ChainedThreadingProfile
- extends Object
- implements ThreadingProfile
This was written (perhaps too far in advance) with an eye to how we will manage default values
in a dynamic environment. Since very little has been decided in that direction the correct
behaviour is unclear - changing the default value of "dynamic"
ChainedThreadingProfile(ThreadingProfile)
will switch behaviour between dynamic and static chaining.
Note that within Spring, as far as I understand things, object creation is always ordered
so that dependencies are correctly resolved. In that case, in a static scenario (or in a
dynamic one that rebuilds the instances) dynamic and static behaviour should be identical.
Also, the "lazy" chaining is an optimisation - all hierarchies should be grounded in a final
default which is ImmutableThreadingProfile and, as such, return reliable
values (lazy would be necessary if this is not the case, since we must avoid evaluating
incomplete delegates).
| Fields inherited from interface org.mule.api.config.ThreadingProfile |
DEFAULT_DO_THREADING, DEFAULT_MAX_BUFFER_SIZE, DEFAULT_MAX_THREAD_TTL, DEFAULT_MAX_THREADS_ACTIVE, DEFAULT_MAX_THREADS_IDLE, DEFAULT_POOL_EXHAUST_ACTION, DEFAULT_THREAD_WAIT_TIMEOUT, DEFAULT_THREADING_PROFILE, POOL_EXHAUSTED_ACTIONS, WHEN_EXHAUSTED_ABORT, WHEN_EXHAUSTED_DISCARD, WHEN_EXHAUSTED_DISCARD_OLDEST, WHEN_EXHAUSTED_RUN, WHEN_EXHAUSTED_WAIT |
ChainedThreadingProfile
public ChainedThreadingProfile()
- Generate a mutable threading profile with fixed default values taken from
ThreadingProfile.DEFAULT_THREADING_PROFILE
ChainedThreadingProfile
public ChainedThreadingProfile(ThreadingProfile delegate)
- Generate a mutable threading profile with dynamic default values taken from the
given delegate.
ChainedThreadingProfile
public ChainedThreadingProfile(ThreadingProfile delegate,
boolean dynamic)
- Generate a mutable threading profile. Default values are taken from the "delegate"
argument. If dynamic is true then changes in the delegate instance are reflected in
this instance.
- Parameters:
delegate - Source of default values.dynamic - If true, changes in delegate are reflected in this instance
getMaxThreadsActive
public int getMaxThreadsActive()
- Specified by:
getMaxThreadsActive in interface ThreadingProfile
getMaxThreadsIdle
public int getMaxThreadsIdle()
- Specified by:
getMaxThreadsIdle in interface ThreadingProfile
getThreadTTL
public long getThreadTTL()
- Specified by:
getThreadTTL in interface ThreadingProfile
getThreadWaitTimeout
public long getThreadWaitTimeout()
- Specified by:
getThreadWaitTimeout in interface ThreadingProfile
getPoolExhaustedAction
public int getPoolExhaustedAction()
- Specified by:
getPoolExhaustedAction in interface ThreadingProfile
getRejectedExecutionHandler
public edu.emory.mathcs.backport.java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler()
- Specified by:
getRejectedExecutionHandler in interface ThreadingProfile
getThreadFactory
public edu.emory.mathcs.backport.java.util.concurrent.ThreadFactory getThreadFactory()
- Specified by:
getThreadFactory in interface ThreadingProfile
setMaxThreadsActive
public void setMaxThreadsActive(int maxThreadsActive)
- Specified by:
setMaxThreadsActive in interface ThreadingProfile
setMaxThreadsIdle
public void setMaxThreadsIdle(int maxThreadsIdle)
- Specified by:
setMaxThreadsIdle in interface ThreadingProfile
setThreadTTL
public void setThreadTTL(long threadTTL)
- Specified by:
setThreadTTL in interface ThreadingProfile
setThreadWaitTimeout
public void setThreadWaitTimeout(long threadWaitTimeout)
- Specified by:
setThreadWaitTimeout in interface ThreadingProfile
setPoolExhaustedAction
public void setPoolExhaustedAction(int poolExhaustPolicy)
- Specified by:
setPoolExhaustedAction in interface ThreadingProfile
setRejectedExecutionHandler
public void setRejectedExecutionHandler(edu.emory.mathcs.backport.java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler)
- Specified by:
setRejectedExecutionHandler in interface ThreadingProfile
setThreadFactory
public void setThreadFactory(edu.emory.mathcs.backport.java.util.concurrent.ThreadFactory threadFactory)
- Specified by:
setThreadFactory in interface ThreadingProfile
getMaxBufferSize
public int getMaxBufferSize()
- Specified by:
getMaxBufferSize in interface ThreadingProfile
setMaxBufferSize
public void setMaxBufferSize(int maxBufferSize)
- Specified by:
setMaxBufferSize in interface ThreadingProfile
getWorkManagerFactory
public ThreadingProfile.WorkManagerFactory getWorkManagerFactory()
- Specified by:
getWorkManagerFactory in interface ThreadingProfile
setWorkManagerFactory
public void setWorkManagerFactory(ThreadingProfile.WorkManagerFactory workManagerFactory)
- Specified by:
setWorkManagerFactory in interface ThreadingProfile
createWorkManager
public WorkManager createWorkManager(String name,
int shutdownTimeout)
- Specified by:
createWorkManager in interface ThreadingProfile
createPool
public edu.emory.mathcs.backport.java.util.concurrent.ExecutorService createPool()
- Specified by:
createPool in interface ThreadingProfile
createPool
public edu.emory.mathcs.backport.java.util.concurrent.ExecutorService createPool(String name)
- Specified by:
createPool in interface ThreadingProfile
isDoThreading
public boolean isDoThreading()
- Specified by:
isDoThreading in interface ThreadingProfile
setDoThreading
public void setDoThreading(boolean doThreading)
- Specified by:
setDoThreading in interface ThreadingProfile
getPoolFactory
public ThreadPoolFactory getPoolFactory()
- Specified by:
getPoolFactory in interface ThreadingProfile
getMuleContext
public MuleContext getMuleContext()
setMuleContext
public void setMuleContext(MuleContext muleContext)
- Specified by:
setMuleContext in interface MuleContextAware
toString
public String toString()
- Overrides:
toString in class Object
Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.