激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java的Spring框架下RMI與quartz的調(diào)用方法

Java的Spring框架下RMI與quartz的調(diào)用方法

2020-01-21 15:19小李飛刀8 JAVA教程

這篇文章主要介紹了Java的Spring框架下RMI與quartz的調(diào)用方法,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下

Spring調(diào)用RMI
RMI(Remote Method Invocation) 遠(yuǎn)程方法調(diào)用,實(shí)現(xiàn)JAVA應(yīng)用之間的遠(yuǎn)程通信。下面介紹使用Spring如何使用RMI。

包的結(jié)構(gòu)如下:

Java的Spring框架下RMI與quartz的調(diào)用方法

定義調(diào)用接口

?
1
2
3
4
5
public interface UserDao {
 
  public String getUser(String username)throws Exception;
 
}

接口實(shí)現(xiàn)類

?
1
2
3
4
5
6
7
8
9
public class UserDaoImplimplements UserDao {
 
  public String getUser(Stringusername)throws Exception {
 
    return"test:"+username;
 
  }
 
}

(1)配置RMI服務(wù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
applicationContext-rmi-server.xml
 
  <beanid="userDaoImpl"class="com.rmi.UserDaoImpl"/>
 
  <beanid="userDaoImpl_Exporter"class="org.springframework.remoting.rmi.RmiServiceExporter">
 
    <propertyname="service"ref="userDaoImpl"/>
 
    <propertyname="serviceName"value="rmi/userDaoImpl"/>
 
    <propertyname="serviceInterface"value="com.rmi.UserDao"/>
 
    <propertyname="registryPort"value="8819"/>
 
  </bean>

(2)啟動(dòng)RMI服務(wù):

?
1
2
3
4
5
6
7
8
9
public class RmiServer {
 
  publicstaticfinal ApplicationContextcontext =new ClassPathXmlApplicationContext("applicationContext-rmi-server.xml");
 
  publicstaticvoid main(String[] args) {
 
  }
 
}

(3)訪問RMI服務(wù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
applicationContext-rmi-client.xml
 
  <beanid="userDaoImpl_client"class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
 
    <propertyname="serviceUrl"value="rmi://localhost:8819/rmi/userDaoImpl"/>
 
    <propertyname="serviceInterface"value="com.rmi.UserDao"/>
 
    <propertyname="refreshStubOnConnectFailure"value="true"/>
 
    <propertyname="lookupStubOnStartup"value="false"/>
 
  </bean>
 
 
 
public class RmiClient {
 
  publicstaticvoid main(String[] args) {
 
    ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext-rmi-client.xml");
 
    UserDao userDao = (UserDao)context.getBean("userDaoImpl_client");
 
    if(userDao !=null){
 
      try {
 
       System.out.println(userDao.getUser("li"));
 
      } catch (Exception e) {
 
       e.printStackTrace();
 
      }
 
    }
 
  }
 
}

spring調(diào)用quartz
1.quartz是一個(gè)作業(yè)調(diào)度框架,spring集成的quartz,使用非常方便。

2.編寫執(zhí)行類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class QuartzTest {
 
 public static void main(String[] args) {
 System.out.println("Test start.");
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-quartz.xml");
    //如果配置文件中將startQuertz bean的lazy-init設(shè)置為false 則不用實(shí)例化
    //context.getBean("startQuertz");
    System.out.print("Test end..");
 }
 
}

3.編寫配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!-- 要調(diào)用的工作類 -->
<bean id="quartzJob" class="com.quartz.QuartzJob"/>
 
  <!-- 定義調(diào)用對(duì)象和調(diào)用對(duì)象的方法 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 <property name="targetObject" ref="quartzJob" />
 <property name="targetMethod" value="work" />
</bean>
 
<!-- 定義觸發(fā)時(shí)間 -->
  <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail">
      <ref bean="jobDetail"/>
    </property>
    <!-- cron表達(dá)式 -->
    <property name="cronExpression">
     <value>2/5 44-46 22,23 9 9 ? 2012</value>
     <!-- 
      從左到右分別是:秒、分、時(shí)、日、月、年、星期
      ? 號(hào)只能用在日和周域上,但是不能在這兩個(gè)域上同時(shí)使用。你可以認(rèn)為 ? 字符是 "我并不關(guān)心在該域上是什么值。" 這不同于星號(hào),星號(hào)是指示著該域上的每一個(gè)值。? 是說不為該域指定值。
     逗號(hào) (,) 是用來在給某個(gè)域上指定一個(gè)值列表的。例如,使用值 0,15,30,45 在秒域上意味著每15秒觸發(fā)一個(gè) trigger。
     斜杠 (/) 是用于時(shí)間表的遞增的。我們剛剛用了逗號(hào)來表示每15分鐘的遞增,但是我們也能寫成這樣 0/15
     中劃線 (-) 用于指定一個(gè)范圍。例如,在小時(shí)域上的 3-8 意味著 "3,4,5,6,7 和 8 點(diǎn)。" 域的值不允許回卷,所以像 50-10 這樣的值是不允許的。
     星號(hào)(*) 指示著你想在這個(gè)域上包含所有合法的值。例如,在月份域上使用星號(hào)意味著每個(gè)月都會(huì)觸發(fā)這個(gè) trigger。
     字母L 說明了某域上允許的最后一個(gè)值。它僅被日和周域支持。
     W 字符代表著平日 (Mon-Fri),并且僅能用于日域中。它用來指定離指定日的最近的一個(gè)平日(非周六日)。
     # 字符僅能用于周域中。它用于指定月份中的第幾周的哪一天。例如,如果你指定周域的值為 6#3,它意思是某月的第三個(gè)周五 (6=星期五,#3意味著月份中的第三周)。
      -->
          </property>
  </bean>
   
  <!-- 總管理類 如果將lazy-init='false'那么容器啟動(dòng)就會(huì)執(zhí)行調(diào)度程序 -->
  <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
      <list>
        <ref bean="doTime"/>
      </list>
    </property>
  </bean> 

4.關(guān)于cronExpression表達(dá)式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- cron表達(dá)式 --> 
<property name="cronExpression"> <value>2/5 44-46 22,23 9 9 ? 2012</value>
<!-- 
  從左到右分別是:秒、分、時(shí)、日、月、年、星期 ? 號(hào)只能用在日和周域上,但是不能在這兩個(gè)域上同時(shí)使用。
  你可以認(rèn)為 ? 字符是 "我并不關(guān)心在該域上是什么值。" 這不同于星號(hào),星號(hào)是指示著該域上的每一個(gè)值。
  ? 是說不為該域指定值。 
  逗號(hào) (,) 是用來在給某個(gè)域上指定一個(gè)值列表的。例如,使用值 0,15,30,45 在秒域上意味著每15秒觸發(fā)一個(gè) trigger。 
  斜杠 (/) 是用于時(shí)間表的遞增的。我們剛剛用了逗號(hào)來表示每15分鐘的遞增,但是我們也能寫成這樣 0/15。 
  中劃線 (-) 用于指定一個(gè)范圍。例如,在小時(shí)域上的 3-8 意味著 "3,4,5,6,7 和 8 點(diǎn)。" 域的值不允許回卷,所以像 50-10 這樣的值是不允許的。 
  星號(hào)(*) 指示著你想在這個(gè)域上包含所有合法的值。例如,在月份域上使用星號(hào)意味著每個(gè)月都會(huì)觸發(fā)這個(gè) trigger。 
  字母L 說明了某域上允許的最后一個(gè)值。它僅被日和周域支持。 
  W 字符代表著平日 (Mon-Fri),并且僅能用于日域中。它用來指定離指定日的最近的一個(gè)平日(非周六日)。 
  # 字符僅能用于周域中。它用于指定月份中的第幾周的哪一天。例如,如果你指定周域的值為 6#3,它意思是某月的第三個(gè)周五 (6=星期五,#3意味著月份中的第三周)。 
-->

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩中文字幕一区二区三区 | 欧美激情视频一区二区免费 | 亚洲午夜精品视频 | 直接在线观看的三级网址 | 1000部精品久久久久久久久 | 亚洲天堂在线电影 | 国产视频软件在线 | 在线观看日本中文字幕 | 日韩激情一区二区三区 | 看国产毛片 | 久久99精品久久久久久236 | 亚洲精品自在在线观看 | 万圣街在线观看免费完整版 | 国色天香综合网 | 吾色视频 | 久久精品99久久久久久2456 | 一级爱片 | 深夜福利视频免费观看 | 国产午夜电影在线观看 | 国产在线精品一区二区三区 | 日韩精品一区二区久久 | 日韩av在线资源 | 精国产品一区二区三区四季综 | 精品国产一区二区三 | 亚洲99影视一区二区三区 | 欧美一级黄视频 | 一区二区三区无码高清视频 | 少妇的肉体的满足毛片 | 蜜桃精品视频 | 日本不卡二区 | 欧美精品久久久久久久久老牛影院 | 欧美日韩国产成人在线观看 | 欧美高清一级片 | 免费黄色大片网站 | 中文字幕在线不卡视频 | 欧美一级特黄a | 欧美人与禽性xxxxx杂性 | 综合激情网 | 性爱免费在线视频 | 亚洲视频成人在线 | 国产一国产一级毛片视频在线 |