发表于: 2016-05-23 22:11:38
6 2277
【操作步骤】
1.Tuscany官网上下载jar包的链接访问不到,可以选择这个地址:http://archive.apache.org/dist/tuscany/java/sca/
2.我昨天在pom.xml文件中引用了tuscany-implementation-Java-runtime、tuscany-binding-ws-axis2、tuscany-binding-rmi-runtime、tuscany-host-webapp、tuscany-binding-jsonrpc-runtime这五个依赖,但是并不能使用org.apache.tuscany.sca.host.embedded.SCADomain这个类,这也就意味着不能使用SCADomain.newInstance()方法,所以今天我重新下载了相关jar包,重新引入。
3.这次重新引入的四个依赖是:tuscany-base-runtime-aggregation、tuscany-binding-rmi-runtime-aggregation、tuscany-binding-ws-runtime-axis2-aggregation、tuscany-sca-api。
【知识总结】
1.每个使用了Tuscany的项目,都会有一个.composite文件,这个文件本质上也是一个xml。(但是,在Eclipse中,.composite文件中的内容并没有显示出xml文件那样的格式,而是普通文本的样子。)
2.在.composite文件中,最外面的标签是<composite>,这个标签表示的是服务的集合(组合构件),在<composite>标签中有<component>标签,一个<component>标签代表一个服务,一个<composite>中可以有很多个<component>。
3.在使用tuscany的1.0版本和2.0版本时,需要注意,二者的.composite文件中的头文件写法有差异(就是<composite>标签中的属性有差异)。
4.使用tuscany时要注意在接口上面加上注解@Remotable
5.关于Spring是怎样加载xsd文件的,可以参考链接:http://blog.csdn.net/bluishglc/article/details/7596118
6.关于Tuscany的jar包配置,我尝试了许多,感觉这一种配置方式最好,链接:http://blog.csdn.net/solidwang/article/details/17371973
【出现的问题(已解决)】
【出现的问题(未解决)】
1.问题背景:我现在在把Tuscany和Spring结合起来,所以要先把service在Spring的xml配置文件中配置好,然后再在.composite文件中指向该xml文件。
问题描述:在xml文件中我需要用到<sca:service>标签,该标签在spring-sca.xsd中有描述,我能在tuscany-implementation-spring-runtime-2.0.1.jar中找到这个xsd文件,而且这个xsd文件也能够正常加载(至少没有报错),一切都显得很正常,但是我就是用不了<sca:service>标签,错误提示是:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sca:service'.
解决思路:现在是毫无头绪了,我考虑过各种可能情况,包括jar包异常(我检查了,相关jar包并无冲突)、xsd文件没导入(xsd文件应该加载成功了,因为并没有报错说找不到xsd文件)、拼写错误(这个不可能,我反反复复看了一下午了)、引入的jar包有问题(我尝试了3种jar包搭配,几乎把网上所能找到的教程的jar包配置都试了个遍,仍然解决不了)。
看样子是绝了,明天再找原因。
【疑问】
评论