分布式SCADomain说明

使用分布式SCA Domain来跨多个JVM工作并不比单独SCA domain难。

  这里每一个运行的node都有一个domain的描述,所以我们创建一个org.apache.tuscany.sca.domain.SCADomain的实例。

  注:该包名和单独SCA domain是不一样的。这次我们处理的是分布式domain而不是单独的domain了。再者,其拥有许多newInstance()操作。开始的两个与单独domain的情况是一样的。

  

  public static SCADomain newInstance()

  用默认的domain URI其他一个单独的domain,并且将classpath作为该域的contribution。Classpath里所有的.composite文件将被读取并且任意可部署的组件在该域中都有效。

  可部署的组件可以通过如下方式定义:

  1 在META-INF/sca-deployables/directory目录下放置.composite文件

  2 通过在META-INF/sca-contribution.xml文件中指定构件可以部署

  public static SCADomain newInstance(String composite)

  用默认的domain URI启动一个单独的domain,同时会在classpath中查找命名的composite文件,并将其地址作为contribution的地址。它将部署命名的composite。

  第三个操作就要为考虑分布式domain而变化了

  public static SCADomain newInstance(String domainURI, String nodeURI, String contributionLocation, String... composites)

  这里以”nodeUIR”作为标识,启动一个本地node。这必须是一个唯一的uri,用该uri来标识此node。如果该uri是以http://hostname:portnumber/的有效形式,那么它将被node的实现作为node启动的管理服务的根地址使用。

  将来,当分布式domain的支持在webapp中也有效的时候,这也可以用来指明web app 容器的主机名和端口号是什么。

  domainURI是domain manager的URI地址。这是独立的java应用。它由node联系并用于注册服务信息和查找domain中的其他服务信息。

  contributionLocation和composite参数和单独SCA domain里一样。

  当node启动的时候,将会装载contribution,部署任意可以被部署的composite,然后注册所有的外部服务的信息到domain manager里。我们可以通过查看calculator-distributed 案例来看看这是如何工作的。  

  我们在calculator-distributed案例中有一个domain manager实现的样例。你可以用ant runDomainNode来运行该案例。它在endpoint http://myhost:8877启动了某些domain manager service。所以这种情况下,domain名字就是http://myhost:8877

  如果你查看下node.CalculatorNode.java你就能知道domain里的每个node是如何启动的。

  SCADomain scaDomain = SCADomain.newInstance(domainName, nodeName, null, nodeName + "/Calculator.composite");

  domainName是http://myhost:8877,node名字会是”nodeA”、”nodeB”和”nodeC”。在该案例中,你可以使用ant RunNode http://localhost:8877 nodeB来启动nodeB的实现。

  一旦启动了,我们就可以象往常一样使用SCADomain接口。比如可以创建service proxy并调用函数。

  CalculatorService calculatorService = scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");

  double result = calculatorService.add(3, 2));

  千言万语不如一图,如下图,概括所有要说明的东西:

 
 
from:http://soft.chinabyte.com/266/7759766.shtml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值