亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

webService接口的開發實例

2024-07-10 13:29:03
字體:
來源:轉載
供稿:網友

webService接口的開發實例job調度功能(工作記錄以后參考和改進):

項目A中的JOB 調度項目B中的JOB(用同一個quratz用戶),啟動兩個項目的JOB

項目A(客服端):CommonJob.class

 

package com.x.x.common.job;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.x.x.common.util.StaticUtils;

public class CommonJob implements Job {


 private Client client = null;

 public Client getClient(){
  if( client == null ) {
   try {
    System.out.println("客服端中對smct_job 調度開始建立會話之前查詢調度地址URl!");
    //String smctJobInvokeUrl ="http://10.109.4.230:8080/smct/services/jobInterfaces?wsdl";
    //String smctJobInvokeUrl ="http://10.108.226.193:8080/smct/services/jobInterfaces?wsdl";
    String smctJobInvokeUrl =  StaticUtils.getSmctJobInvokeWsdlURL();//可以配置在perporties文件中/數據庫中
    System.out.println("smctJobInvokeUrl:"+smctJobInvokeUrl);
    System.out.println("客服端中對smct_job 調度開始建立會話之前查詢調度地址為:!"+smctJobInvokeUrl);
    client = new Client( new URL(smctJobInvokeUrl) );
    client.setTimeout( 5000 );
    System.out.println("客服端中對smct_job 調度成功建立會話!");
   } catch (MalformedURLException e) {
    e.printStackTrace();
    System.out.println("客服端中對smct_job 調度建立會話失敗!");
   } catch (Exception e) {
    e.printStackTrace();
    System.out.println("客服端中對smct_job 調度建立會話失敗!");
   }
  }

  return client;
 }

 public void execute(JobExecutionContext context) throws JobExecutionException {
  String result = "";
  try {
     JobDataMap jobDataMap =  context.getMergedJobDataMap();

     String clazz = jobDataMap.getString("clazz");
     System.out.println("客服端對 SMCT JOB 使用類 方法"+clazz+": invokeMethodAutoExcute 調度結束:"+result);

   Object[] objs = getClient().invoke("invokeMethodAutoExcute", new String[]{clazz});
   if( objs != null && objs.length == 1 ){
     result = objs[0].toString();
   }
   System.out.println("客服端對 SMCT JOB 使用類 方法: invokeMethodAutoExcute 調度結束:"+result);
   } catch (Exception e) {
   System.out.println("客服端對 SMCT JOB 使用類: invokeMethodAutoExcute 調度失敗:"+result);
   e.printStackTrace();
  }
 }

}

項目A中配置job類Action method:

 

public void addAutoJob(HttpServletRequest request, HttpServletResponse response) throws RemoteException,Exception{
  response.setContentType("text/json;charset=GBK");
  String jobname = request.getParameter("jobName");
  String jobgroup = request.getParameter("jobGroup");
  String trigname = request.getParameter("triggerName");
  String triggroup = request.getParameter("triggerGroup");
  String clazz = request.getParameter("className");
  String expression = request.getParameter("CronExpression");
  JSONObject json = new JSONObject();
  try {
         ServiceManager.getSession().startTransaction();


         SchedulerFactory sf = new StdSchedulerFactory();
         Scheduler sched = sf.getScheduler();
         JobDetail jobDetail =

                 new   JobDetail (jobName,jobGroup,com.x.x.common.job.CommonJob.class);
         jobDetail.getJobDataMap().put("clazz", clazz);         
        CronTrigger cronTrigger =

                 new CronTrigger(trigName, trigGroup, jobName, jobGroup, expression,TimeZone.getTimeZone( "Asia/Shanghai" ));
        sched.addJob(jobDetail, true);
        sched.scheduleJob(cronTrigger);
        sched.start();


        ServiceManager.getSession().commitTransaction();


   json.put("retVal", "Y");
   json.put("retMsg", "設置調度成功");
  } catch (Exception e) {
      e.printStackTrace();
         try {
                  ServiceManager.getSession().rollbackTransaction();
              } catch (Exception e2) {
               } finally {
                  json.put("retVal", "N");
                  json.put("retMsg", "設置調度失敗");
                }
  }
  response.getWriter().print(json.toString());
 }

 

 

 

項目B接口函數(服務器端):

public class ParseWebserviceSVImpl implements IParseWebserviceSV {
    public String invokeMethodAutoExcute(String clazz) {
          String flag = "failure";
          try {
         System.out.println("============smct_JOB  webService Start=================");
         System.out.println("  進入接口類ParseWebserviceSVImpl對 smct_JOB 調度類反射,創建job實例開始.");
         System.out.println("  進入接口類ParseWebserviceSVImpl對 smct_JOB 調度類反射,創建job實例開始.");
         Job job = (Job)Class.forName(clazz).newInstance();
         System.out.println("  進入接口類ParseWebserviceSVImpl對 smct_JOB 調度類反射,創建job實例結束.");
         System.out.println("  進入接口類ParseWebserviceSVImpl對 smct_JOB 調度開始執行開始!");
           job.execute( null );
          flag = "success";
  } catch (Exception e) {
           e.printStackTrace();
  }
    System.out.println("接口類ParseWebserviceSVImpl對 smct_JOB 調度開始執行結果標示符('failure'或者'success')為:"+flag);
    System.out.println("=========smct_JOB  webService end=====================");
      return flag;
 }


}

 

項目B配置文件:1、引入xfire插件

2、services.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
          <name>jobInterfaces</name>
          <namespace>com.asiainfo.bomc.smct</namespace>

          <serviceClass>
                 com.asiainfo.smct.connector.webservices.interfaces.IParseWebserviceSV
          </serviceClass>

          <implementationClass>
             com.asiainfo.smct.connector.webservices.impl.ParseWebserviceSVImpl
          </implementationClass>

</service>

</beans>

 

項目B中被調度的job,按照普通的job寫。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧洲成人性视频| 国产日韩精品综合网站| 久久影视电视剧凤归四时歌| 国产91热爆ts人妖在线| 精品国产成人在线| 亚洲综合在线做性| 亚洲性生活视频在线观看| 亚洲一区美女视频在线观看免费| 最近2019中文字幕大全第二页| 亚洲**2019国产| 伊人伊成久久人综合网小说| 91精品国产成人| 亚洲女同精品视频| 91精品久久久久久久久久另类| 国产+人+亚洲| 亚洲一区二区久久久| 欧美日韩在线观看视频小说| 亚洲精品一区二区三区不| 亚洲一区二区久久久久久久| 国产精品亚洲欧美导航| 欧美午夜片在线免费观看| 久久久久久这里只有精品| 色伦专区97中文字幕| 日韩美女激情视频| 成人国产精品一区| 国产日本欧美一区| 国产a级全部精品| 91天堂在线视频| 国产欧美日韩高清| 亚洲深夜福利网站| 日韩专区在线观看| 91亚洲精品在线| 欧美一区二区视频97| 中文欧美日本在线资源| 日韩在线视频中文字幕| 欧美一区二区影院| 亚洲精品之草原avav久久| 欧美精品久久久久久久久| 最近免费中文字幕视频2019| 久久精品国产亚洲精品2020| 国产精品自拍偷拍视频| 欧美俄罗斯性视频| 国产精品 欧美在线| 亚洲欧美一区二区三区情侣bbw| 深夜福利91大全| 亚洲成人性视频| 久久精视频免费在线久久完整在线看| 亚洲色图日韩av| 亚洲a∨日韩av高清在线观看| 精品久久久久久久久国产字幕| 自拍视频国产精品| 欧美丝袜一区二区三区| 韩国精品久久久999| 国产成人中文字幕| 亚洲第一区第二区| 日韩精品视频观看| 欧美大全免费观看电视剧大泉洋| 国产精品日韩在线| 欧美成人免费一级人片100| 国产成人jvid在线播放| 久久久亚洲影院你懂的| 成人免费激情视频| 精品视频一区在线视频| 国模吧一区二区三区| 日韩av在线精品| 一本色道久久综合狠狠躁篇怎么玩| 亚洲欧洲自拍偷拍| 亚洲高清久久网| 激情成人在线视频| 精品夜色国产国偷在线| 91精品国产91久久| 欧美黄色性视频| 色www亚洲国产张柏芝| 国产色综合天天综合网| 黄色精品一区二区| 色悠久久久久综合先锋影音下载| 久久国产视频网站| 日韩精品中文字幕在线观看| 69视频在线播放| 国产成人精品亚洲精品| 亚洲视频在线观看视频| 中文字幕自拍vr一区二区三区| 亚洲第一中文字幕在线观看| 黑人精品xxx一区一二区| 欧美专区在线视频| 成人黄色av免费在线观看| 91视频九色网站| 日韩三级影视基地| 亚洲欧洲一区二区三区久久| 久久夜色精品亚洲噜噜国产mv| 日韩欧美国产网站| 国产欧美中文字幕| 国产一区二区三区四区福利| 91免费国产视频| 久久久国产一区二区三区| 亚洲午夜精品久久久久久性色| 亚洲视频电影图片偷拍一区| www国产精品视频| 国产精品第二页| 亚洲无限乱码一二三四麻| 成人在线精品视频| 久久久免费电影| 亚洲**2019国产| 8x拔播拔播x8国产精品| 九九热这里只有精品6| 精品久久久久久久久国产字幕| 国产精品网站入口| 日韩精品在线观看一区| 亚洲日本中文字幕| 中文字幕日韩高清| 成人免费网站在线| 欧美激情小视频| 亚洲女人天堂成人av在线| 久久精品人人爽| 中文字幕在线成人| 国产精品www色诱视频| 欧美老女人bb| 久久夜色精品亚洲噜噜国产mv| 欧美高清视频一区二区| 精品久久久久久久久久久久久| 亚洲黄色av女优在线观看| 亚洲欧美中文日韩在线| 夜夜狂射影院欧美极品| 国产精品久久激情| 欧美日韩在线免费| 精品偷拍各种wc美女嘘嘘| 自拍偷拍亚洲在线| 久久精品这里热有精品| 亚洲最大激情中文字幕| 尤物精品国产第一福利三区| 2018中文字幕一区二区三区| 欧美日韩一区免费| 国产成人综合精品| 国产精品扒开腿做爽爽爽的视频| 欧美性xxxx18| 一区二区三区精品99久久| 亚洲小视频在线观看| 日日骚久久av| 欧美亚洲另类激情另类| 欧美日韩成人在线播放| 91免费人成网站在线观看18| 日本中文字幕不卡免费| 亚洲乱码国产乱码精品精天堂| 欧美日韩另类视频| 亚洲无限乱码一二三四麻| 日韩在线免费高清视频| 日韩在线视频网| 中文字幕在线观看日韩| 亚洲自拍小视频| 青青草成人在线| 亚洲国产欧美日韩精品| 在线播放国产一区中文字幕剧情欧美| 91在线视频免费| 中文字幕欧美国内| 成人欧美在线观看| 精品久久久久久久中文字幕| 欧美—级a级欧美特级ar全黄| 日韩在线小视频| 日韩欧美在线国产| 高跟丝袜欧美一区| 亚洲人a成www在线影院| 亚洲欧洲成视频免费观看| 91精品国产九九九久久久亚洲| 久久久精品网站|