Quartzは、Jboss AS 7.0 Final(フル)のデフォルトインストールに含まれていないようです。 Message Driven Bean(MDB) "FareMonitorBean"をロードしようとすると、EARのデプロイメントが失敗するように見えます。このMDBは、石英のスケジュールが実行するものです。Jboss AS 7.0でクォーツスケジューリングを有効にする方法は?
エラーメッセージ:MDB "FareMonitorBean" クラスファイルの
10:00:34,034 WARN [org.jboss.modules] (MSC service thread 1-7) Failed to define class com.myproject.beans.FareMonitorBean in Module "deployment.myprojectEAP.ear.myprojectEJB.jar:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/myproject/beans/FareMonitorBean (Module "deployment.myprojectEAP.ear.myprojectEJB.jar:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401)
.....
Caused by: java.lang.NoClassDefFoundError: org/quartz/Job
at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_26]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [:1.6.0_26]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [:1.6.0_26]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [:1.6.0_26]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397)
... 18 more
概要:JBoss documentationに基づいて
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "cronTrigger", propertyValue = EJBConstants.FARE_MONITOR_QUARTZ_SCHEDULE_STRING) })
@ResourceAdapter("quartz-jboss-2.0.2.jar")
public class FareMonitorBean implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
....
}
}
、私の推測では、 "拡張" と "サブシステム" があることが必要であるということですスタンドアロン/設定/ standalone.xmlでQuartz用に設定されていますが、どうやってこれを行うのかはわかりません。私はgoogle、jboss forums、quartz support docoを検索して何も見つけることができません。 QuartzはJbossの「最終的な」リリースでは動作しません。スケジューラは本格的なアプリケーションサーバの共通の必須機能ですからね!
私はそれを動作させるために従うことができる提案や例はありますか?
UPDATE 8月28日2011:
誰かがこの問題で私を助けていただけますか? JBoss 6.0で安定性の問題と多数のバグがあり、Jbossが引き続き挑戦的である場合はGlassFish 3.1への移行を検討しています。それは私だけか、バボと問題でいっぱいのJbossですか?
は、あなたの答えをいただき、ありがとうございます。あなたのソリューションを実装しようとします。しかし、質問:Jboss 7.0ファイナルにはクォーツファイルが付属していないので、Jboss 7でクォーツジャーファイルをどこから入手しましたか? – willtardy
私はMavenを使ってEARファイルをパッケージ化しています。ここに記載されているように、quartzの依存関係をpom.xmlに入れてください:http://www.quartz-scheduler.org/download/download-catalog.html 次に、maven-ear-pluginがEARファイルを生成し、EAR内のlibディレクトリ内に依存関係をパックします。 – Riggs
私はJBoss AS7.1を使用しており、@スケジュールを使用することができました。私は今、単純なEJB Timer Beanを使っています。 – javatestcase