SCA Domain 概念的理解
域
(Domain)域,对于分布式部署,是最重要的概念之一;
逻辑上,它是一个很模糊的概念,
理论:SCA Domain描述一个完整的运行时配置,潜在地可以被部署到一系列内连的运行时节点上;
应用:它是一个容器,更是一个系统边界,决定域与域的交互;
官方的说法:
SCA域非常灵活,可以很小也可以很大:
一个很小的域,可能是一个在测试环境内;
中型域可能是一个单一的服务器还是小型集群,支持单一应用;
大型的域可以描述一个部门或公司的全部服务;
域 - 这个概念在各个方面内都有出现,如ESB中有企业域,部门域等概念,SSO有跨域访问的概念,SOA有域库存的概念;
域来讲是对外是一个整体,对内由不同的应用组件而成;
SCADomain,域的大小是由我们自由定义,一般来讲会定义层较大的域,因为同一域内可以使用引用的方式,域外是绑定;
不过具体还要看业务上决定,从效率上,个人更倾向于企业域;
代码:
创建域:
SCADomain domain = SCADomain.newInstance("com/config/simple/echo.composite");
SCADomain初始化:
1.创建需要使用的创建classLoader; 如 -
final ClassLoader runtimeClassLoader = SCADomain.class.getClassLoader();
2. 查找扩展配置文件,并获取扩展SCADomain实现类 -
Class<?> implClass = ServiceDiscovery.getInstance().loadFirstServiceClass(SCADomain.class);
3. 创建SCADomain实例;
3.1 没有扩展SCADomain实现时,创建默认SCA域实现;
new DefaultSCADomain(runtimeClassLoader, applicationClassLoader, domainURI, contributionLocation,composites);
3.2 拥有扩展SCADomain实现时,创建扩展SCA域实现;
constructor = implClass.getConstructor(ClassLoader.class, String.class); domain = (SCADomain)constructor.newInstance(runtimeClassLoader, domainURI);
4.返回SCADomain实例;
相关推荐
liuttorrie 2020-07-04
Yakamoz 2020-06-17
Lophole 2020-06-13
liaoxuewu 2020-06-11
技术之博大精深 2020-06-10
Lophole 2020-05-25
gtsjx 2020-05-19
Lophole 2020-05-09
SIMONDOMAIN 2020-05-09
书虫媛 2020-05-03
Lophole 2020-04-29
luvhl 2020-04-10
书虫媛 2020-03-07
Lophole 2020-03-03
SIMONDOMAIN 2020-02-25
SIMONDOMAIN 2020-02-19
zhuakuang0 2020-02-17