Spring 4 整合RMI技术及发布多个服务(xjl456852原创)
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiejl</groupId><artifactId>test</artifactId><version>1.0-SNAPSHOT</version><properties><spring-version>4.3.7.RELEASE</spring-version></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring-version}</version></dependency><!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.10</version></dependency><!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.10</version></dependency></dependencies></project>
package com.xjl456852.rmi.spring;/*** 定义一个远程接口** @author leizhimin 2009-8-17 13:53:38*/public interface HelloService {/*** 简单的返回“Hello World!"字样** @return 返回“Hello World!"字样*/public String helloWorld();/*** 一个简单的业务方法,根据传入的人名返回相应的问候语** @param someBodyName 人名* @return 返回相应的问候语*/public String sayHelloToSomeBody(String someBodyName);}
package com.xjl456852.rmi.spring;import org.springframework.stereotype.Service;/*** 远程的接口的实现** @author leizhimin 2009-8-17 13:54:38*/@Servicepublic class HelloServiceImpl implements HelloService {public HelloServiceImpl() {}/*** 简单的返回“Hello World!"字样** @return 返回“Hello World!"字样*/public String helloWorld() {return "Hello World!";}/*** 一个简单的业务方法,根据传入的人名返回相应的问候语** @param someBodyName 人名* @return 返回相应的问候语*/public String sayHelloToSomeBody(String someBodyName) {return "你好," + someBodyName + "!";}}
package com.xjl456852.rmi.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/*** 通过Spring发布RMI服务** @author leizhimin 2009-8-17 14:22:06*/public class HelloHost {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");System.out.println("RMI服务伴随Spring的启动而启动了.....");}}
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"><!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><context:component-scan base-package="com.xjl456852" /><bean id="serviceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter"><property name="serviceName" value="rmiSpring"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.HelloService"/><property name="registryPort" value="8888"/><property name="service" ref="helloServiceImpl"/></bean></beans>
package com.xjl456852.rmi.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import javax.annotation.Resource;import java.rmi.RemoteException;/*** 通过Spring来调用RMI服务** @author leizhimin 2009-8-17 14:12:46*/public class HelloClient {@Resourceprivate HelloService helloService;public static void main(String[] args) throws RemoteException {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");HelloService hs = (HelloService) ctx.getBean("helloService");System.out.println(hs.helloWorld());System.out.println(hs.sayHelloToSomeBody("xjl456852"));}}
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"><!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><context:component-scan base-package="com.xjl456852" /><bean id="helloService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"><property name="serviceUrl" value="rmi://192.168.176.131:8888/rmiSpring"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.HelloService"/></bean></beans>
package com.xjl456852.rmi.spring;/*** Created by xjl on 2017/3/19.*/public interface OtherService {public int random();}
package com.xjl456852.rmi.spring;import org.springframework.stereotype.Service;import java.util.Random;/*** Created by xjl on 2017/3/19.*/@Servicepublic class OtherServiceImpl implements OtherService{Random random = new Random();public int random() {System.out.println("invoke random method");return random.nextInt(100);}}
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"><!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><context:component-scan base-package="com.xjl456852" /><bean id="serviceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter"><property name="serviceName" value="rmiSpring"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.HelloService"/><property name="registryPort" value="8888"/><property name="service" ref="helloServiceImpl"/></bean><bean id="serviceExporter_Other" class="org.springframework.remoting.rmi.RmiServiceExporter"><property name="serviceName" value="rmiSpringOther"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.OtherService"/><property name="registryPort" value="8888"/><property name="service" ref="otherServiceImpl"/></bean></beans>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"><!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><context:component-scan base-package="com.xjl456852" /><bean id="helloService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"><property name="serviceUrl" value="rmi://192.168.176.131:8888/rmiSpring"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.HelloService"/></bean><bean id="otherService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"><property name="serviceUrl" value="rmi://192.168.176.131:8888/rmiSpringOther"/><property name="serviceInterface" value="com.xjl456852.rmi.spring.OtherService"/></bean></beans>
package com.xjl456852.rmi.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import javax.annotation.Resource;import java.rmi.RemoteException;/*** 通过Spring来调用RMI服务** @author leizhimin 2009-8-17 14:12:46*/public class HelloClient {@Resourceprivate HelloService helloService;@Resourceprivate OtherService otherService;public static void main(String[] args) throws RemoteException {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");HelloService hs = (HelloService) ctx.getBean("helloService");System.out.println(hs.helloWorld());System.out.println(hs.sayHelloToSomeBody("xjl456852"));OtherService os = (OtherService) ctx.getBean("otherService");System.out.println("otherService:" + os.random());}}
Spring 4 整合RMI技术及发布多个服务(xjl456852原创)的更多相关文章
- 黑马_13 Spring Boot:05.spring boot 整合其他技术
13 Spring Boot: 01.spring boot 介绍&&02.spring boot 入门 04.spring boot 配置文件 05.spring boot 整合其他 ...
- Spring+CXF整合来管理webservice(服务器启动发布webservice)
Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar.servlet.jar ),spring.jar包 ,serv ...
- Spring Boot 整合视图层技术,application全局配置文件
目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合 ...
- Spring 5.x 、Spring Boot 2.x 、Spring Cloud 与常用技术栈整合
项目 GitHub 地址:https://github.com/heibaiying/spring-samples-for-all 版本说明: Spring: 5.1.3.RELEASE Spring ...
- Spring Boot从入门到精通之:二、Spring Boot整合JPA
springboot-jpa 开发工具 系统: windows10 开发工具: Intellij IDEA 2018.2.6 springboot: 2.0.6.RELEASE jdk: 1.8.0_ ...
- Spring MVC & Boot & Cloud 技术教程汇总(长期更新)
昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...
- spring boot 2.0(一)权威发布spring boot2.0
Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring ...
- spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。
Spring jar包的描述:针对3.2.2以上版本 org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现 org.spring ...
- WebService之Spring+CXF整合示例
一.Spring+CXF整合示例 WebService是一种跨编程语言.跨操作系统平台的远程调用技术,它是指一个应用程序向外界暴露一个能通过Web调用的API接口,我们把调用这个WebService的 ...
随机推荐
- matlab采用mex编译多个cpp文件
最近在看matlab code时,由于本人使用的是64系统,而code中的mex文件时在32位系统上编译的,所以需要重新自己编译maxflowmex.cpp,但是直接mex maxflowmex.cp ...
- 基于ELK的传感器数据分析练习
目录 Sensor Data Analytics Application 数据构成 数据模型设计 Logstash配置 Kibana可视化 Sensor Data Analytics Applicat ...
- noip2002矩阵覆盖(搜索)
矩阵覆盖 题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见 ...
- RandomAccessFile使用场景及总结
大家在学到Java中IO流的时候学到了各种流,对文件的各种操作.但是唯独可能对RandomAccessFile对象不会去过多的研究,那么这个到底有什么用呢? RandomAccessFile的唯一父类 ...
- javascript检测基本类型值或引用类型值的类型方法
首先javascript的数据类型分为两种数据类型:基本数据数据类型和引用数据类型 基本数据类型:Number,String,Boolean,Undefined,Null.原始值,是简单的数据段,可按 ...
- mysql 的索引hash和b+tree 区别
索引hash相当于数组,键值对组合,对于id = 6或者status= 2这样条件查询,但是对于id>12等这样,用btree索引最好.
- Spark SQL概念学习系列之Spark SQL入门(八)
前言 第1章 为什么Spark SQL? 第2章 Spark SQL运行架构 第3章 Spark SQL组件之解析 第4章 深入了解Spark SQL运行计划 第5章 测试环境之搭建 第6章 ...
- Cesium加载影像
注意:使用自定义数据源时,Cesium.Viewer类参数必须设置为 baseLayerPicker:false A. 使用天地图数据源 //天地图var provider=new Cesium.We ...
- struct结构的一些内容
srtuct结构的定义: 访问修饰符 struct 结构名{ //方法体 } 结构定义的特点: 1.结构中可以有字段(属性),也可以有方法 2.定义时,结构的字段不能被赋初值 3.结构和类一样都有默 ...
- FCC 基础JavaScript 练习5
在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...