Oracle神諭

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            284 隨筆 :: 9 文章 :: 106 評論 :: 0 Trackbacks

          Using the MethodInvokingJobDetailFactoryBean
          使用MethodInvokingJobDetailFactoryBean
          Often you just need to invoke a method on a specific object. Using the MethodInvokingJobDetailFactoryBean you can do exactly this:
          經(jīng)常地,你僅僅需要調(diào)用一個對象的一個方法。使用MethodInvokingJobDetailFactoryBean,你可以正確地這樣做:

          <bean id="methodInvokingJobDetail"
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
              <property name="targetObject"><ref bean="exampleBusinessObject"/></property>
              <property name="targetMethod"><value>doIt</value></property>
          </bean>


          The above example will result in the doIt being called on the exampleBusinessObject (see below):


          public class BusinessObject {
           
            // properties and collaborators
           
            public void doIt() {
              // do the actual work
            }
          }
             

          <bean id="exampleBusinessObject" class="examples.ExampleBusinessObject"/>
             
          Using the MethodInvokingJobDetailFactoryBean you don't need to create one-line jobs that just invoke a method, and you only need to create the actual business object and wire up the detail object.
          使用MethodInvokingJobDetailFactoryBean 你不需要創(chuàng)建一個在線的jobs,僅僅調(diào)用它的方法,你可以僅僅只需要創(chuàng)建一個實際的邏輯對象并且把它綁定到細節(jié)對象。

          By default, Quartz Jobs are stateless, resulting in the possibility of jobs interfering with each other. If you specify two triggers for the same JobDetail, it might be possible that before the first job has finished, the second one will start. If JobDetail objects implement the Stateful interface, this won't happen. The second job will not start before the first one has finished. To make jobs resulting from the MethodInvokingJobDetailFactoryBean non-concurrent, set the concurrent flag to false.

          缺省地,Quartz jobs是無狀態(tài)的,在jobs的可能性作為結(jié)果影響彼此。如果你限定兩個觸發(fā)器為同一個JohDetail,它在第一個job已經(jīng)完成時是可能的,第二個將會開始。如果JobDetail實現(xiàn)了狀態(tài)接口,它將不會發(fā)生。
          <bean id="methodInvokingJobDetail"
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
              <property name="targetObject"><ref bean="exampleBusinessObject"/></property>
              <property name="targetMethod"><value>doIt</value></property>
              <property name="concurrent"><value>false</value></property>
          </bean>
             
          Note: By default, jobs will run in a concurrent fashion.

           

          posted on 2005-07-22 11:23 java世界暢談 閱讀(3142) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 伊吾县| 邵阳市| 长垣县| 九台市| 萝北县| 岚皋县| 枣庄市| 孝昌县| 蒲城县| 南投市| 如东县| 乐平市| 东源县| 乐业县| 象山县| 静海县| 宿松县| 黎川县| 湘阴县| 祁东县| 柘城县| 乌拉特前旗| 安福县| 郯城县| 丰台区| 富民县| 中卫市| 中方县| 浦县| 唐山市| 班玛县| 雅安市| 新余市| 金塔县| 揭阳市| 武功县| 九龙城区| 资溪县| 凭祥市| 上林县| 蓬安县|