spring-hessian简单示例
需要包:
spring 2.5.6
hessian 3.1.6
spring2.5.6不支持hessian4.0
web容器:
tomcat 6.0
1、定义接口;
public TBean implements Serializable{ private String name; private String code; /** *todo: get and set method here */}public interface IHello{ TBean hello(TBean tb);}public class Hello implements IHello{ /**todo:*/}2、通过spring mvc公布接口
spring配置文件中增加如下代码
<bean id="hello" name="code"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:conf/spring/spring*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>remote</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:conf/spring/spring.remote.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remote</servlet-name> <url-pattern>/remote/*</url-pattern> </servlet-mapping>
3、将接口发布到客户端程序
将IHello复制到客户端程序
客户端spring配置
<bean id="helloHessian" name="code">public class DataSyncRemote{ private static HessianProxyFactoryBean hessianProxy = new HessianProxyFactoryBean(); private Logger logger = Logger.getLogger(DataSyncRemote.class); static { hessianProxy.setServiceInterface(IDataSyncHessian.class); } public static IDataSyncHessian getRemoteService(String ip) { hessianProxy.setServiceUrl("http://"+ip+":8080/hessian/remote/helloHessian"); hessianProxy.setServiceInterface(IDataSyncHessian.class); hessianProxy.afterPropertiesSet(); return (IDataSyncHessian) hessianProxy.getObject(); } }