发表于: 2018-01-04 21:56:56

1 464


今天完成的事情:

 把任务八需要的功能在本地实现了。

这个需要分布式访问,其实就是把service层和controller层分离开,到不同的java程序中。

然后实现本地和远程的通信。

我这边先是看了个demo。然后自己尝试做了个通讯用的小东西,实验了能够输出。

然后把之前任务的东西拿出来修改。

先看修改的服务端:

//我这边的都是直接在xml中配置的东西。

<bean name="rmiserver" class="com.service.impl.StudentServiceImpl"/>//指定接口实现类

<bean name="serverTest" class="org.springframework.remoting.rmi.RmiServiceExporter">
   <property name="service" ref="rmiserver"/>
   <property name="serviceName" value="serverRmiTest"/>
   <property name="serviceInterface" value="com.service.StudentService"/>//指定接口
   <property name="registryPort" value="1021"/>//指定服务的端口

</bean>

//然后贴一下项目结构:

  我这边是把controller层全部删除了。保留了service和service实现类 以及dao层 还有domain  


然后写了一个主方法开启服务:

public static void main(String[] args) {
// TODO Auto-generated method stub
   ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-mybatis.xml");
   context.getBean("serverTest");
}

//然后接下来是客户端:

还是先贴一下项目结构:

 这边我是删除了service及其实现类

//这个是客户端的配置

<bean name="clentrmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">

   <property name="serviceUrl" value="rmi://127.0.0.1:1021/serverRmiTest"/>
   <property name="serviceInterface" value="com.service.StudentService"/>
</bean>

//加载接口类的对象  其实就是使用服务端的接口

ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-mybatis.xml");

StudentService studentService = (StudentService) context.getBean("clentrmi");

 

上面是效果。

这个是服务端运行过后打出的日志。


今天还讲了小课堂,给大家普及了一波端口的东西。
明天计划的事情:

明天把服务部署到服务器上。
遇到的问题:

一开始忘记序列化了,看了哈报错,改过来了。

收获:

初步学习了这种分布式的架构。


返回列表 返回列表
评论

    分享到