发表于: 2017-12-04 22:43:19
1 780
今天完成的任务:
任务八目录:
服务端运行类:
public class Test1 {
private static Logger logger = LogManager.getLogger(Test1.class.getName());
public static void main(String[] args) throws IOException, NotBoundException {
Node node = NodeFactory.newInstance().createNode("UserService.composite");
node.start();
logger.info("service启动");
UserService userService = (UserService) Naming.lookup("//127.0.0.1:9090/UserService");
logger.info("查询所有用户信息");
List<User> userList = userService.getUserList();
logger.info(userList);
}
}
service1同上,就不贴了。
xmlbean配置:
<bean id="UserService" class= "org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://127.0.0.1:9090/UserService"></property>
<property name="serviceInterface" value="com.lzy.service.UserService"></property>
<!--连接出错时自动重连-->
<property name="refreshStubOnConnectFailure" value="true"></property>
</bean>
<bean id="UserService1" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://127.0.0.1:9091/userService1"></property>
<property name="serviceInterface" value="com.lzy.service.UserService"></property>
<!--连接出错时自动重连-->
<property name="refreshStubOnConnectFailure" value="true"></property>
<!--不在容器启动的时候创建server端的连接-->
<property name="lookupStubOnStartup" value="false"></property>
</bean>
Controller配置两台service:
public class UserController {
private Logger logger = LogManager.getLogger(UserController.class);
//显示所有学生列表
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String showUser(Model model) throws RemoteException, NotBoundException, MalformedURLException {
int flag = Math.random() > 0.5 ? 1 : 0;
logger.info("产生随机数是:" + flag);
List<User> userList = null;
try {
switch (flag) {
case 1:
UserService userService = (UserService) Naming.lookup("//127.0.0.1:9090/UserService");
logger.info("第一层访问service");
userList = userService.getUserList();
break;
default:
UserService userService1 = (UserService) Naming.lookup("//127.0.0.1:9091/UserService1");
logger.info("第二层访问service1");
userList = userService1.getUserList();
break;
}
} catch (Exception e) {
switch (flag) {
case 1:
UserService userService1 = (UserService) Naming.lookup("//127.0.0.1:9091/StudentService1");
logger.info("第一层访问失败,转到访问第二层service1");
userList = userService1.getUserList();
break;
default:
UserService userService = (UserService) Naming.lookup("//127.0.0.1:9090/StudentService");
logger.info("第二层访问失败,转到访问第一层service");
userList = userService.getUserList();
break;
}
}
model.addAttribute("userList", userList);
return "list";
}
}
明天的计划:开始任务9。
遇到的问题:运行时遇到BUG。
收获:以上。
评论