Spring Http Invoker
2016-02-29 12:05
459 查看
配置例如以下:
①web.xml配置
②client.xml
③remote.xml
④SyncService
⑤调用方式:
①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();
相关文章推荐
- Neutron在给虚拟机分配网络时,底层是如何实现的?
- HttpClient 发送Get请求
- muduo库的学习11---TcpServer与TcpClient的基本设计---TcpConnection接收与发送
- httpclien各个版本超时时间设置
- muduo库的学习10---TcpServer与TcpClient的基本设计---TcpConnection建立与关闭
- muduo库的学习8---TcpServer与TcpClient的基本设计---TcpServer
- muduo库的学习7---TcpServer与TcpClient的基本设计---总论
- 理解 Linux 网络栈(1):Linux 网络协议栈简单总结
- HttpUrlConnection加载网络
- spring整合dubbo-2.5.3(使用TCP广播或者zookeeper 暴露和发现服务)
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
- IPC网络摄像机app端开发问题解决思路
- python网络编程之socket
- 4.18.1 Android Http 与断点续传
- 解决GoAgent打开https网站SSL证书错误 (安全证书不受信任)
- wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理
- 网络请求设置 && arc&mrc互转
- 4.1.3.9 监听网络状态,3G,WIFI,
- Mac网络优先级设置
- python模拟登录http basic authentication网站