Tuscany SCA启动过程分析

豆豆网   技术应用频道   2008年09月06日  【字号: 收藏本文

内容摘要:本文将针对其最新代码,通过对其启动过程进行分析,来了解Tuscany中对资源的加载及模型组装的处理。

  Tuscany作为SCA Spec1.0实现,现在已接近Release 1.0的尾声,在近期将发布。本文将针对其最新代码,通过对其启动过程进行分析,来了解Tuscany中对资源的加载及模型组装的处理。

  Tuscany作为SCA Spec1.0实现,现在已接近Release 1.0的尾声,在近期将发布。其结构相对7月份发布的0.91版本进行了较大的调整,优化了代码的结构并且增加了部分新功能。本文将针对其最新代码,通过对其启动过程进行分析,来了解Tuscany中对资源的加载及模型组装的处理。

  一、启动前准备

  1、 扩展点注册器实例化

  Tuscany的实现采用了扩展点机制,所有的可重用对象都会在其中注册,因此把扩展点注册器作为参数来回传递,通过它可以从中拿到所有的已注册对象。

  2、 注册对象到扩展点注册器

  Tuscany的现有版本与以前版本进行了较大改进,由原来在代码中指定改为了由配置文件中指定,加载的方式也改为了Lazy Loading,在从注册器中取得对象时加载配置文件,然后把实例放入注册器的集合中,以便下次直接从中取得需要的对象,不再解析配置文件。

  最先注册的对象有:WorkScheduler,ModelFactoryExtensionPoint,ContextFactoryExtensionPoint,ProxyFactory,InterfaceContractMapper。

  3、加载ModuleActivator

  遍历所有定义的ModuleActivator文件,解析其中的内容作为ModuleActivator接口的实现,然后执行其中的start方法。

  ModuleActivator现有接口已经去掉了扩展点注册的方法。

  4、解析策略配置文件definitions.xml

  策略配置文件配置了针对binding,implementation所使用的策略,其使用方式可参考其SCA spec中的 Policy Framework一节。

  二、资源加载

来源:比特网    责编:豆豆技术应用

正在加载评论...