zoukankan      html  css  js  c++  java
  • Spring Http Invoker

    配置例如以下:

    ①web.xml配置

        <servlet>  
      
            <servlet-name>remote</servlet-name>  
      
           <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
      
            <!-- 配置该Servlet随应用启动时候启动 -->  
      
            <load-on-startup>1</load-on-startup>  
      
        </servlet>  
      
    	<!-- 配置DispatcherServlet映射的url -->  
     
        <servlet-mapping>  
      
           <servlet-name>remote</servlet-name>  
      
           <url-pattern>/remoting/*</url-pattern>  
      
        </servlet-mapping>  

    ②client.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans default-lazy-init="true">
    <bean id="sync.BackupSearchService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
    		<property name="serviceUrl" value="http://${juyuan.webservice.address}:${juyuan.webservice.port}/${juyuan.webservice.application}/remoting/backupSearchService"/>
    		<property name="serviceInterface" value="com.juyuan.service.IBackupSearchService"/>
    </bean>
     
    
    </beans>


    ③remote.xml

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

    > <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter" name="/backupSearchService"> <property name="service" ref="BackupSearchService"/> <property name="serviceInterface" value="com.juyuan.service.IBackupSearchService"/> </bean> <bean class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter" name="/backupStrategyService"> <property name="service" ref="BackupStrategyService"/> <property name="serviceInterface" value="com.juyuan.service.IBackupStrategyService"/> </bean> </beans>



    ④SyncService

    package com.juyuan.service.impl;
    
    import java.lang.reflect.Method;
    import java.util.Date;
    import com.juyuan.model.Alarms;
    import com.juyuan.model.AlarmsKeys;
    import com.juyuan.model.Logs;
    import com.juyuan.model.LogsKeys;
    import com.juyuan.service.IAlarmsService;
    import com.juyuan.service.ILogsService;
    import com.juyuan.support.AppCommon;
    import com.juyuan.support.AppContext;
    
    /**
     * add by LB 已屏蔽.若要开启同步请去掉execute里凝视的代码.
     * @author LB
     *
     */
    public class SyncService implements Runnable{
    	
    	
    	private Method method = null;
    	private Object serviceObj = null;
    	private Object[] paramArray = null;
    	/**
    	 * 同步数据通用类
    	 * @param serviceObj	服务对象.
    	 * @param methodName	待调用的服务方法.
    	 * @param paramTypes	參数的类类型数组.
    	 * @param paramArray	參数数组.(必须可以序列化)
    	 */
    	public SyncService(Object serviceObj,String methodName,Class<Object>[] paramTypes,Object[] paramArray){
    		try {
    			this.serviceObj = serviceObj;
    			this.paramArray = paramArray;
    			method = serviceObj.getClass().getMethod(methodName, paramTypes );
    		}  catch (Exception e) {
    			
    		}
    		
    	}
    	
    	public void run() {
    		try {
    			method.invoke(serviceObj,paramArray);
    		} catch (Exception e) {
    			e.printStackTrace();
    			
    		}
    	}
    	/**
    	 * 运行同步
    	 */
    	public void execute(){
    		
    		new Thread(this).start();
    	}
    }
    


    ⑤调用方式:

    new SyncService(this.getSyncConditionService(),"saveSearchCondition",new Class[]{DefaultSearchCondition.class},new Object[]{entity}).execute();






  • 相关阅读:
    HelloWorld入门代码
    Java语言概述
    程序的载入和运行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
    java cup占用高分析脚本
    插入排序+冒泡排序+选择排序
    浅谈图片载入的三级缓存(一)
    互联网广告的个性化推荐平台设计--相关知识
    Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can&#39;t find referenced class问题的解决方式
    计数排序
    《Getting Started with WebRTC》第二章 WebRTC技术介绍
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5227023.html
Copyright © 2011-2022 走看看