2012-02-03 6 views
0

Springの@Scheduled注釈に問題があります。Spring 3 @スケジューリングされた注釈:同じサービスを使用する2つのプロセス

基本的に、私がやろうとしていることはこれです:上記で

class service1 { 
    @Scheduled(fixedDelay=120000) //120 seconds 
    public void processSomething() { 
     //something that processes very quick - a few seconds 
     beanX.processSomething(); 
     ... 
    } 
} 

class service2 { 
    @Scheduled(cron="0 0 10 * * ?") 
    public void processSomething() { 
     //something that processes very slowly - a few hours 
     beanX.processSomething(); 
     ... 
    } 
} 

アイデアは、二つの異なるスケジュールされたプロセスが同じ春のBeanを呼び出しているということです。

私が抱えている問題は次のとおりです。 service2がトリガーされると、service1はトリガーされなくなります。

+1

これは仕様ではありません。あなたのコードのどこかにバグがありますが、あなたが私たちに与えてくれたことからは分かりません。 – skaffman

+0

私はそれが設計ではないと確信しています。問題は私の側にあると確信しています。質問は、「通常これを引き起こすことができるもの」のようなものでした。お手伝いできるように、あなたが見たいと思っている他の詳細を教えてください。 – Andrei

+0

Spring 3のバージョンは何ですか? '@ Scheduled'バグが修正されました。 – beny23

答えて

0

残念ながら、これはもう問題ではありません。私自身の愚かさでした。問題は、Springが非常に小さなスレッドプールを持っていることでした。同時に、他のスレッドを同時に実行することで、そのスレッドプールを超えていました。

関連する問題