2017-02-22 20 views
0

jboss EAP 6.4.9.GAおよびjdk 1.7にcommonj workmanager rarをデプロイしました。 Workmanagerリファレンスを使用して、複数のファイルをアップロードする場合に複数のスレッドを作成しています。最大スレッド、コアスレッド、キューの長さが50のWorkmanagerのデフォルト設定があります。 私たちは、タスクが完了し、次の時にされるのをのTaskExecutorが待っていないされてどのような私が見ています仕事jbossスレッドのcommonj workmanagerが完了を待たずに

@Component 
public class RealtimeServiceInvoker 
@Autowired 
private WorkManagerTaskExecutor taskExecutor; 
public Response execute(..).... 
for(FileBean fileBean:fileList){ 
      SampleWork work = new SampleWork(); 
      work.setFileBean(fileBean); 
      colWorkItems.add(taskExecutor.schedule(work)); 
      requestList.add(work); 
     } 

     taskExecutor.waitForAll(colWorkItems, WorkManager.INDEFINITE); 

を提出し、実行者クラスで

<bean id="taskExecutor" 
class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor"> 
<property name="workManagerName" value="java:jboss/wm/default-work-manager" /> 
<property name="resourceRef" value="false"/> 
</bean> 

として春のXMLで依存関係を定義していますステップは、我々は、作業対象物に起因フェッチしようとしている、そしてそれは、JBoss 6.2サーバーおよびJDK 1.7でローカルサーバーで同じ設定作品である不可解さは何

例外

を投げています。

何が間違っているとお考えですか?

私はworkAcceptedとWorkStartedのリスナーでログを取得しています

taskExecutor.schedule(work,rtWorkListener); 

をWorkListenerのを追加しました。 Workmanagerは、スレッドが完了するのを待たずにいます。リスナーを使用してスレッドの完了を待つ実装方法があれば、

答えて

0

jbossサーバにcommonjワークマネージャを再インストールしようとしましたが、正常に動作しました。サーバ内のworkmanagerの古いバージョンかもしれません。しかし、その行動は変だった。

関連する問題