1

JBoss 6でデプロイ時に問題が発生しました。私のアプリケーションには、アノテーションでマークされた 1 つのメソッドを持つステートレス EJBが含まれています。@Schedule(hour="1")このようなメソッドは、@EJB アノテーションによって注入された別のステートレス EJB を使用します。

@Stateless
public class AuditRecordCleanerBean implements AuditRecordCleanerLocal
{
@EJB
private RecordManager recordManager;

@Schedule(hour="1")
public void moveRecordsToHistoricTable()
{
recordManager.moveRecords();
...
}
}

JBoss ではタイマーが永続的であるため、アプリケーション サーバーを再起動すると、EJB RecordManager がまだデプロイされていないときにタイマーがトリガーされ、NameNotFoundException が発生することがあります。

server.log で、次の警告を見つけました。

WARN  [org.jboss.ejb3.TimerServiceContainer] (Thread-2) EJBTHREE-2193: using deprecated TimerServiceFactory for restoring timers

これが問題でしょうか?アプリケーションのデプロイが完了した後、最初のタイマーの実行を遅らせるにはどうすればよいですか?

よろしく、 ファビオ

4

0 に答える 0