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();

Spring Http Invoker,布布扣,bubuko.com

时间: 2024-10-05 04:26:01

Spring Http Invoker的相关文章

Spring Http Invoker使用简介

一.Spring HTTP Invoker简介 ? ? Spring HTTP invoker 是 spring 框架中的一个远程调用模型,执行基于 HTTP 的远程调用(意味着可以通过防火墙),并使用 java 的序列化机制在网络间传递对象.这需要在远端和本地都使用Spring才行.客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,这有点类似于 ?webservice ?,但又不同于 ?webservice ?,区别如下:? WebService Http Invoker 跨平台,跨

Spring Remoting by HTTP Invoker Example--reference

Spring provides its own implementation of remoting service known as HttpInvoker. It can be used for http request than RMI and works well across the firewall. By the help of HttpInvokerServiceExporter and HttpInvokerProxyFactoryBean classes, we can im

Spring Remoting: HTTP Invoker--转

原文地址:http://www.studytrails.com/frameworks/spring/spring-remoting-http-invoker.jsp Concept Overview In the earlier articles we saw an introduction to spring remoting and its support for RMI, Hessian and Burlap. In this tutorial we look at one more su

关于spring的httpInvoker学习

简介:Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象.客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,要注意的一点是,服务端.客户端都是使用Spring框架(从别人的博客了解的,我的也是基于这个理解,从上面这段话可以看出,首先是远程调用,所以就有远程调用者(客户端)和被调用者(服务端),传输协议为http,将java对象进行序列化在网络间进行传递,所以作为传

Java远程通讯可选技术及原理

Java远程通讯可选技术及原理——转 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术, 例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢, 了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了, 在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术

Java 远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了. 1 基本原理 要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从

Java[2] 分布式服务架构之java远程调用技术浅析(转http://www.uml.org.cn/zjjs/201208011.asp)

转自:http://www.uml.org.cn/zjjs/201208011.asp 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛

Java远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了. 1 基本原理 要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从

分布式服务架构之java远程调用技术浅析

分布式服务架构之java远程调用技术浅析     在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯