春
独自のロジックを作成する場合、Spring を使用しているため、Spring が提供する機能の一部を利用できます ( spring-framework-reference )
しかし、欲しいものを正確に手に入れるには多くの課題に直面しているため、それを利用したことはありません
QuartzInitializerServlet
別の方法は、組み込みのQuartzInitializerServletを利用することです。このメソッドは、スケジューラ インスタンスを取得してそこからロジックを実装できるという点で、はるかに柔軟です。
Web アプリケーションで起動時のロード サーブレットとして構成されている場合、Quartz の初期化に使用できるサーブレット。
この起動サーブレットを使用することは、状況によっては QuartzInitializerListener を使用するよりも好ましい場合があります。つまり、同じアプリケーションで複数のスケジューラを初期化したい場合です。
次のようなものを WEB-INF/web.xml ファイルに追加します。
<servlet>
<servlet-name>
QuartzInitializer
</servlet-name>
<display-name>
Quartz Initializer Servlet
</display-name>
<servlet-class>
org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-class>
<load-on-startup>
1
</load-on-startup>
<init-param>
<param-name>config-file</param-name>
<param-value>/some/path/my_quartz.properties</param-value>
</init-param>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>wait-on-shutdown</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
StdSchedulerFactory インスタンスは ServletContext に格納されます。次のように、ServletContext インスタンスからファクトリにアクセスできます。
StdSchedulerFactory factory = (StdSchedulerFactory) ctx
.getAttribute(QuartzFactoryServlet.QUARTZ_FACTORY_KEY);