Spring Commonj.Workmanager в веб-сфере
Получение исключения во время работы исполнителя задач workmanager из Spring в Websphere. Ниже мой код
<bean id="workManager" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
<property name="workManagerName" value="wm/MyWorkManager"/>
<property name="resourceRef" value="false"/>
</bean>
<bean name="myWorkManager" class="com.spring.test.services.concurrent.ConcurrentWorkManager" />
<bean name="myWorkListener" class="com.spring.test.services.concurrent.ConcurrentWorkListener" />
Код в моем ConcurrentWorkManager
@Autowired
private WorkManagerTaskExecutor workManager;
@Autowired
private WorkListener myWorkListener;
if(workList==null){
throw new WorkException("There are no works present in worklist to do work");
}
ArrayList<WorkItem> workItems = new ArrayList<WorkItem>();
for(Work work : workList){
workItems.add(workManager.schedule(work,myWorkListener));
}
workManager.waitForAll(workItems,WorkManager.INDEFINITE);
for(WorkItem work:workItems){
ConcurrentWorker worker=(ConcurrentWorker)work.getResult();
resultString.add(worker.getResult());
}
Теперь, когда я выполняю свой код, он дает исключение stackoverflow в методе workmanager.schedule (work)
исключение stackoverflow
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)
at org.springframework.scheduling.commonj.WorkManagerTaskExecutor.schedule(WorkManagerTaskExecutor.java:202)