发表于: 2017-08-25 23:19:59
1 953
今天完成的事情:在任务8的基础上添加tuscany
首先因为tuscany很早就停止维护了,spring能与它兼容的版本应设置为3.1.0及以下
在service模块中的pom文件添加依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<!--spring test-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.0.5.RELEASE</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</groupId>
<artifactId>tuscany-implementation-spring-runtime</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>
在service模块中的resources目录下新建UserService.composite
注意这个地方报红才是正确的,不爆红反而说明你错了,具体原因无法解释。
再新建一个spring-tuscany.xml配置文件
<?xml version= "1.0" encoding ="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sca="http://www.springframework.org/schema/sca"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/sca
http://www.osoa.org/xmlns/sca/1.0/spring-sca.xsd" >
<sca:service name="UserService" type="com.wyc.service.UserService" target="UserService"/>
<bean id="UserService" name="UserService" class="com.wyc.serviceImpl.UserServiceImpl"/>
<import resource="spring-mybatis.xml"/>
</beans>
然后在test目录下新建test1,运行测试类来启动服务
public class Test1 {
public static void main(String[] args) throws IOException, NotBoundException {
Node node = NodeFactory.newInstance().createNode("UserService.composite");
node.start();
System.out.println("service启动");
UserService userService = (UserService) Naming.lookup("//127.0.0.1:9090/UserService");
System.out.println("查询所有用户信息");
List<User> userList = userService.getUserList();
System.out.println(userList);
}
}
然后开始报错
org.apache.tuscany.sca.host.rmi.RMIHostRuntimeException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: filter status: REJECTED
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:460)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
at org.apache.tuscany.sca.host.rmi.DefaultRMIHost.registerService(DefaultRMIHost.java:72)
at org.apache.tuscany.sca.host.rmi.ExtensibleRMIHost.registerService(ExtensibleRMIHost.java:42)
at org.apache.tuscany.sca.binding.rmi.provider.RMIServiceBindingProvider.start(RMIServiceBindingProvider.java:80)
at org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl$2.run(CompositeActivatorImpl.java:566)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.startEndpoint(CompositeActivatorImpl.java:564)
at org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(CompositeActivatorImpl.java:422)
at org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(CompositeActivatorImpl.java:345)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:149)
at com.wyc.Test1.main(Test1.java:16)
提示是序列话的问题,找了下师兄没能帮我解决
明天计划的事情:解决bug。
遇到的问题:如上
收获:调试BUG
评论