<div class="moz-text-flowed" style="font-family: -moz-fixed; font-size: 13px;" lang="x-western">Fixed this accordingly to JBAS-1792:
<br>
<br>package org.jboss.resource.adapter.quartz.inflow;
<br>
<br>import org.quartz.SchedulerConfigException;
<br>
<br>import javax.resource.spi.work.Work;
<br>import javax.resource.spi.work.WorkException;
<br>import javax.resource.spi.work.WorkManager;
<br>
<br>/**
<br> * Thread pool used to fire Quartz Jobs.
<br> * <p/>
<br> * Using BootstrapContext's workManager thread pool.
<br> * No dependency outside this rar or JCA.
<br> *
<br> * @see <a class="moz-txt-link-freetext" href="http://jira.jboss.com/jira/browse/JBAS-1792">http://jira.jboss.com/jira/browse/JBAS-1792</a>
<br> * @see quartz.properties
<br> *
<br> * @author <a href=<a class="moz-txt-link-rfc2396E" href="mailto:ales.justin@gmail.com">"mailto:ales.justin@gmail.com"</a>>Ales Justin</a>
<br> */
<br>public class JBossQuartzThreadPool implements org.quartz.spi.ThreadPool
<br>{
<br> private int poolSize = Integer.MAX_VALUE;
<br>
<br> private WorkManager workManager;
<br>
<br> public void initialize() throws SchedulerConfigException
<br> {
<br> workManager = QuartzResourceAdapter.getConfigTimeWorkManager();
<br> }
<br>
<br> /**
<br> * Currently this method is only used in metadata lookup.
<br> * Which is has no further use.
<br> * How to provide better estimate?
<br> */
<br> public int getPoolSize()
<br> {
<br> return poolSize;
<br> }
<br>
<br> public boolean runInThread(Runnable runnable)
<br> {
<br> try
<br> {
<br> WorkWrapper workWrapper = new WorkWrapper(runnable);
<br> workManager.doWork(workWrapper);
<br> return true;
<br> }
<br> catch (WorkException e)
<br> {
<br> return false;
<br> }
<br> }
<br>
<br> /**
<br> * No shutdown impl - workManager is shutdown by itself.
<br> */
<br> public void shutdown(boolean waitForJobsToComplete)
<br> {
<br> }
<br>
<br> /**
<br> * Just in case we want to set pool size.
<br> */
<br> public void setPoolSize(int poolSize)
<br> {
<br> this.poolSize = poolSize;
<br> }
<br>
<br> private class WorkWrapper implements Work
<br> {
<br>
<br> private Runnable delegate;
<br>
<br> public WorkWrapper(Runnable delegate)
<br> {
<br> this.delegate = delegate;
<br> }
<br>
<br> public void run()
<br> {
<br> delegate.run();
<br> }
<br>
<br> public void release()
<br> {
<br> }
<br>
<br> }
<br>
<br>}
<br>
<br>Better?
<br>
<br>
<br></div>