<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>&nbsp;* Thread pool used to fire Quartz Jobs.
<br>&nbsp;* &lt;p/&gt;
<br>&nbsp;* Using BootstrapContext's workManager thread pool.
<br>&nbsp;* No dependency outside this rar or JCA.
<br>&nbsp;*
<br>&nbsp;* @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>&nbsp;* @see quartz.properties
<br>&nbsp;*
<br>&nbsp;* @author &lt;a href=<a class="moz-txt-link-rfc2396E" href="mailto:ales.justin@gmail.com">&quot;mailto:ales.justin@gmail.com&quot;</a>&gt;Ales Justin&lt;/a&gt;
<br>&nbsp;*/
<br>public class JBossQuartzThreadPool implements org.quartz.spi.ThreadPool
<br>{
<br>&nbsp;&nbsp; private int poolSize = Integer.MAX_VALUE;
<br>
<br>&nbsp;&nbsp; private WorkManager workManager;
<br>
<br>&nbsp;&nbsp; public void initialize() throws SchedulerConfigException
<br>&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; workManager = QuartzResourceAdapter.getConfigTimeWorkManager();
<br>&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; /**
<br>&nbsp;&nbsp;&nbsp; * Currently this method is only used in metadata lookup.
<br>&nbsp;&nbsp;&nbsp; * Which is has no further use.
<br>&nbsp;&nbsp;&nbsp; * How to provide better estimate?
<br>&nbsp;&nbsp;&nbsp; */
<br>&nbsp;&nbsp; public int getPoolSize()
<br>&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return poolSize;
<br>&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; public boolean runInThread(Runnable runnable)
<br>&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WorkWrapper workWrapper = new WorkWrapper(runnable);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; workManager.doWork(workWrapper);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (WorkException e)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; /**
<br>&nbsp;&nbsp;&nbsp; * No shutdown impl - workManager is shutdown by itself.
<br>&nbsp;&nbsp;&nbsp; */
<br>&nbsp;&nbsp; public void shutdown(boolean waitForJobsToComplete)
<br>&nbsp;&nbsp; {
<br>&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; /**
<br>&nbsp;&nbsp;&nbsp; * Just in case we want to set pool size.
<br>&nbsp;&nbsp;&nbsp; */
<br>&nbsp;&nbsp; public void setPoolSize(int poolSize)
<br>&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.poolSize = poolSize;
<br>&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; private class WorkWrapper implements Work
<br>&nbsp;&nbsp; {
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private Runnable delegate;
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public WorkWrapper(Runnable delegate)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.delegate = delegate;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run()
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delegate.run();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void release()
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>&nbsp;&nbsp; }
<br>
<br>}
<br>
<br>Better?
<br>
<br>
<br></div>