发表于: 2019-10-26 21:15:27

1 1025


一、今天完成的事
Tuscany整合到之前的项目中
导入Tuscany包
<!--tuscanyRmi-->
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-rmi-runtime-aggregation</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2-aggregation</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-spring-runtime</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-assembly-xml</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi-runtime</artifactId>
<version>2.0.1</version>
<scope>runtime</scope>
</dependency>
server服务端
配置文件*.composite
<?xml version="1.0" encoding="UTF-8"?>
<composite
name="serviceOne">
<component name="serviceOne">
<implementation.spring location="applicationContext.xml"/>
<service name="StudentService">
<interface.java interface="com.ksy.service.StudentService"/>
<tuscany:binding.rmi uri="rmi://127.0.0.1:8881/studentService"/>
</service>
<service name="ProfessionService">
<interface.java interface="com.ksy.service.ProfessionService"/>
<tuscany:binding.rmi uri="rmi://127.0.0.1:8881/professionService"/>
</service>
<service name="UserService">
<interface.java interface="com.ksy.service.UserService"/>
<tuscany:binding.rmi uri="rmi://127.0.0.1:8881/userService"/>
</service>
</component>
applicationContext
<!-- type里是service接口路径,target里是实现类在ioc容器中的id,就是上面beanid -->
<sca:service name="StudentService" type="com.ksy.service.StudentService" target="StudentServiceImpl"/>
<bean id="StudentServiceImpl" class="com.ksy.service.serviceImpl.StudentServiceImpl"/>
<sca:service name="UserService" type="com.ksy.service.UserService" target="UserServiceImpl"/>
<bean id="UserServiceImpl" class="com.ksy.service.serviceImpl.UserServiceImpl"/>
<sca:service name="ProfessionService" type="com.ksy.service.ProfessionService" target="ProfessionServiceImpl"/>
<bean id="ProfessionServiceImpl" class="com.ksy.service.serviceImpl.ProfessionServiceImpl"/>
client客户端
使用try/catch方法随机访问server
StudentService studentService = null;
int code = new Random().nextInt(2);
if (code == 1) {
try {
studentService = (StudentService) Naming.lookup("rmi://127.0.0.1:8881/studentService");
} catch (Exception e) {
studentService = (StudentService) Naming.lookup("rmi://127.0.0.1:8882/studentService");
}
} else {
try {
studentService = (StudentService) Naming.lookup("rmi://127.0.0.1:8881/studentService");
} catch (Exception e) {
studentService = (StudentService) Naming.lookup("rmi://127.0.0.1:8882/studentService");
}
}
二、遇到的问题
遇到一些臭bug
注意一下几点
1.配置文件中一定要对应
<service name="StudentService">
<interface.java interface="com.ksy.service.StudentService"/>
<tuscany:binding.rmi uri="rmi://127.0.0.1:8881/studentService"/>
</service>
application
<sca:service name="UserService" type="com.ksy.service.UserService" target="UserServiceImpl"/>
<bean id="UserServiceImpl" class="com.ksy.service.serviceImpl.UserServiceImpl"/>
2.spring版本过高也会导致报错,尝试降版本
三、收获
四、明天的计划
部署到服务器中,任务总结



返回列表 返回列表
评论

    分享到