发表于: 2017-08-06 23:01:36

2 967


一、今天完成的事情:

感觉今天什么都没做,看了tusscany的API

@Service 的使用 

服务接口可以被指定为Java接口。做为构件实现的Java类可以通过实现某个指定了服务合约的Java接口 来提供服务。因为一个Java类可以实现多个接口,而这些接口中有些并没有定义SCA服务,所以@Service 注解可以用于指示实现所提供的服务以及服务对应的Java接口定义。  

如下是Java服务接口以及使用此接口提供服务的Java实现的一个例子:

 接口: public interface HelloService { String hello(String message); } 

实现类: 

@Service(HelloService.class)

 public class HelloServiceImpl implements HelloService {

 public String hello(String message) { ... }

 } 为了阐述的更加明了,下面给出了关于此实现的构件类型的XML描述。实际上,因为可以从Java类反 射得到,所以没有必要书写构件类型。 和接口相反,Java实现类本身也能定义构件提供的服务。这种情况下,@Service用于显式声明此实现 类定义了实现所提供的服务。同情形下,构件只能提供@Service声明的服务。如下所示:

 @Service(HelloServiceImpl.class) 

public class HelloServiceImpl implements AnotherInterface { public String hello(String message) { ... } … } 

Component Context

package org.osoa.sca; 

public interface ComponentContext { String getURI(); 

B getService(Class businessInterface, String referenceName);

 ServiceReference getServiceReference(Class businessInterface, String referenceName); 

ServiceReference createSelfReference(Class businessInterface); 

ServiceReference createSelfReference(Class businessInterface, String serviceName); B 

getProperty(Class type, String propertyName);

Java Common Annotations and APIs Specification 1.00 ,

Java 通用注解和 API 规范 v1.00<b, r="" extends="" callablereference> R cast(B target) throws IllegalArgumentException; RequestContext getRequestContext(); ServiceReference cast(B target) throws IllegalArgumentException; }

 • getURI() – 返回SCA域中构件的绝对URI • getService(Class businessInterface, String referenceName) – 返回当前构 件定义的引用代理

 • getServiceReference(Class businessInterface, String referenceName) – 返回当前构件定义的服务引用。

 • createSelfReference(Class businessInterface) – 返回一个服务引用,用于调用 此构件上设计的服务。

 • createSelfReference(Class businessInterface, String serviceName) – 返 回一个服务引用,用于调用此构件上设计的服务。serviceName显式声明要调用的服务名。

 • getProperty (Class type, String propertyName) – 返回此构件定义的SCA属性 值。

 • getRequestContext() – 返回当前SCA服务请求的上下问,如果没有当前请求或上下文无效 则返回null。

 • cast(B target) –将一个类型安全的引用转换为一个可调用引用(CallableReference)。

二、遇到的问题:无

三、明天的计划:明天有面试。

四:收获:

   总的来说tusscany的的各个composite文件和scallop里面的配置是需要我们注意的,这样我们才能知道我们使用来做什么。在各个时间的调用我们就知道我们是怎么我那成这个服务的。对于我们理解分布式系统是很有帮助的。对于分布式还是很需要我们去学习的,这个用来帮助我们解决我们的很多服务器处理问题是非常有必要的。



返回列表 返回列表
评论

    分享到