发表于: 2017-09-08 22:30:54
1 757
任务进展:
1:今天在昨天的基础上再加一个service的module,用来实现部署两台service,web随机访问。按照spring rmi的规则,在原来StudentService和UserService的基础上,为其创建父接口,用于rmi bean中的serviceInterface项。然后在ioc容器中创建rmi bean,最后在main方法中初始化。
在此期间,Service接口实现类内部的DAO引用爆红,但可以正常运行,应该是idea检测的问题:
2:若要实现随机访问两台service,则rmi应该是随机获取的,由于控制器是单例的,则不能在控制器里直接引用ServiceImpl类,否则此类也是单例的,当某一台service宕掉时,程序就不能使用了。中午和张鑫讨论出来一个方法:在本地配置两台service的xml,然后自定义一个rmi service调用类CallService,在其内部通过随机地初始化service的xml来获取远程服务,然后在其内部定义fresh方法用于重新获取。在控制器中引入CallService类,通过CallService来调用已经获取的远程服务的方法,如果某台服务宕掉,则会抛出异常,捕捉此异常,调用fresh方法重新获取,然后重新调用服务的方法。
以上代码算是勉强保证了随机访问两台service,当某一台宕掉,应用仍可以继续运行。在本地运行,成功。
遇到问题:
无
明日计划:
部署服务器,跑通,开始任务9
收获:
rmi web和service分离的实现
进度:
任务开始时间:2017.09.8
预计demo时间:2017.09.15
是否有延期风险:有
评论