设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
使用Spring开发SCA组件
返回列表
发新帖
使用Spring开发SCA组件
[复制链接]
11
|
9
|
2014-2-19 11:55:14
|
显示全部楼层
|
阅读模式
本文将探讨 Apache Tuscany 运行时支持的一些高级特性。了解如何将多种应用程序上下文综合起来用作 SCA 组件的一个实现。SCA 注释可用来在 Spring bean 类内显式声明 SCA 服务、引用和属性。下载 计算器示例的源代码。
本文中的示例使用了 Apache Tuscany SCA Java? 技术运行时 V1.5.1。要运行这个示例应用程序,需要下载 Apache Tuscany SCA Java 实现 的二进制发行版。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
为 SCA 组件使用多种应用程序上下文
在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客:Spring、SCA 和 Apache Tuscany,您了解了一个 Spring 应用程序可被定义为 SCA 复合集(即 SCDL)内的一个 SCA 组件,其格式如清单 1 所示。
清单 1. 具有一个 Spring 组件的 SCA 复合集
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
元素的 location 属性可将目标 URI 指定为指向一个归档文件(JAR)、一个目录或直接指向一个 Spring 应用程序上下文文件。在任何情况下,在使用
组件的 location 属性时,Apache Tuscany 只允许一个应用程序上下文作为目标应用程序上下文,用作 SCA 组件的实现。
Apache Tuscany 允许使用多种应用程序上下文来实现 SCA 组件,方法是在这个目标应用程序上下文(由此 SCA 复合集文件内的
元素的 location 属性标识)中定义一个 ClassPathXmlApplicationContext(如 清单 3 所示)bean。清单 2 给出了一个示例。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
清单 2. 具有一个 Spring 组件的 SCA 复合集
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
清单 3. beanRefContext.xml
context1.xml
context2.xml
context3.xml
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
这个 Apache Tuscany 运行时的意图是将具有一个 bean 定义(以 ClassPathXmlApplicationContext 作为 bean 类)的所有目标应用程序上下文视为一个具有多种应用程序上下文的场景。这个 Tuscany 运行时之后将会为由 ClassPathXmlApplicationContextbean 的 constructor 参数标识的这列应用程序上下文文件创建一个组合的应用程序上下文实例。
在 清单 2 的例子中,被作为 CalculatorServiceComponent 的一个实现定义的目标应用程序上下文是 beanRefContext.xml。在一个典型的场景中(在单个应用程序上下文场景)中,Tuscany 运行时将会为 beanRefContext.xml 创建一个应用程序上下文实例并将其用作 CalculatorServiceComponent 的一个实现实例。
在 清单 3 内,beanRefContext.xml 只定义了一个 bean 定义(以 ClassPathXmlApplicationContext 作为 bean 类)。这个场景被 Tuscany 运行时视为是一个包含多种应用程序上下文的场景。由 ClassPathXmlApplicationContext bean 定义的 constructor 参数标识的这列应用程序上下文文件(context1.xml、context2.xml 和 context3.xml)被综合起来创建一个应用程序上下文实例,以用作 CalculatorServiceComponent 的一个实现实例。图 1 展示了一个例子。
对于一个包含多个上下文的场景,由 ClassPathXmlApplicationContext bean 定义的 constructor 参数标识的每个应用程序上下文文件都可具备其自己的 SCA 服务、引用和属性(以显式或隐式的方式声明)。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
对于一个单应用程序上下文的场景,正如在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客:Spring、SCA 和 Apache Tuscany 中所讨论的,Tuscany 运行时会尝试:
* 内省这个目标应用程序上下文定义文件以决定所声明的 SCA 服务、引用和属性。
* 使用适当的 Spring beans 为在这个目标应用程序上下文内声明的所有 SCA 引用和属性创建一个 SCAParentApplicationContext。
之后,将 SCAParentApplicationContext 声明为父上下文,使用 org.springframework.context.support.GenericApplicationContext 创建这个目标应用程序上下文的实例。
在一个含多种应用程序上下文的场景中,如 图 1 所示,Tuscany 运行时会尝试:
* 内省由 ClassPathXmlApplicationContext bean(在目标应用程序上下文中定义)的 constructor 参数标识的这列应用程序上下文文件(context1.xml、context2.xml 和 context3.xml)来决定所声明的 SCA 服务、引用和属性。
* 用适当的 Spring bean 为已标识的这列应用程序上下文文件内声明的所有 SCA 引用和属性创建一个 SCAParentApplicationContext。
之后,通过将 SCAParentApplicationContext 声明为其父上下文,为这列应用程序上下文文件创建一个 org.springframework.context.support.ClassPathXmlApplicationContext 实例。
在目标应用程序上下文上使用 ClassPathXmlApplicationContext bean 定义来提供对含多种应用程序上下文的场景的支持,这个内容超出了 SCA Spring 组件实现规范 V1.0 的建议。
不同于目标应用程序上下文内的 ClassPathXmlApplicationContext bean 定义,在应用程序上下文的层次结构内标识的任何一个 ClassPathXmlApplicationContext bean 定义都将被 Spring 运行时视为一个常规的 ClassPathXmlApplicationContext bean 并被相应处理。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
Spring beans 的 SCA 注释
Apache Tuscany 对 Spring beans 内的 SCA 注释的支持超出了由 OSOA 定义的 SCA Spring 组件实现规范 V1.0 的建议。
在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客:Spring、SCA 和 Apache Tuscany 中,您了解到可以使用自定义 SCA 名称空间元素,比如 、 和 ,在 Spring 应用程序上下文文件内显式声明 SCA 服务、引用和属性。同样地,Apache Tuscany SCA 运行时允许您使用 SCA 注释在 Spring bean 类内显式地声明 SCA 服务、引用和属性。
下面介绍了用于在 Spring bean 类内显式地声明 SCA 服务、引用和属性的 SCA 注释。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
org.osoa.sca.annotations.Service
用来控制哪些 Spring bean 可被公开为 SCA 服务。@Service 注释一般用在 Java 类上,用来指定由该实现提供的服务的接口。
org.osoa.sca.annotations.Reference
用来在由此复合集内可用的其他 SCA 组件提供的服务上声明一个 Spring bean 的依赖项。通过定义一个字段、一个 setter 方法参数或一个 constructor 参数(由此服务接口键入并由一个 @Reference 注释),可以使用引用注入访问服务。
org.osoa.sca.annotations.Property
用来在由 SCA 组件实现提供的可设置属性上声明一个 Spring 应用程序上下文的依赖项。@Property 注释被用来定义一个 SCA 属性。
如下这个示例展示了如何在 Spring bean 类中使用 SCA 注释。仍然使用在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客:Spring、SCA 和 Apache Tuscany 内讨论的 CalculatorComponent 示例展示 SCA 注释的用法。
calculator.composite,如清单 4 所示,定义了 CalculatorComponent,它依赖于其他四个服务:AddComponent、SubtractComponent、MultiplyComponent 和 DivideComponent。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
清单 4. calculator.composite
HelloWorld
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
牙齿根部有黑色结石?
2
红疙瘩是浅表淋巴结吗?
3
尿失禁分几种?
4
膀胱结石如何排除与治厅?
5
吃了六味地黄两个星期,遗精了两次了
6
我从前段时间开始在大便的时候都会出现肛门脱出来的情况,并
7
请问!脾虚体寒又上火者能吃桑葚膏吗?
8
痔疮坏死什么症状?
9
从前两天开始,每次在我大便的时候总是会感觉肛门部位有一些
10
毛囊脓肿脓怎么排出?
11
蜂蛰伤要不要打破伤风?
12
膜系淋巴结炎注意什么?
13
之前检查出有些子宫囊肿近期有性生活今
14
大人直肠脱垂怎么治疗?
15
直肠粘膜坏死怎么办?
16
胃肉瘤就是胃息肉吗?
17
雀斑样痣的去除方法?
18
喉癌的死亡率高吗?
19
肛瘘急性发作期症状?
20
鼻塞咳嗽其他就没得什么了
21
藏毛囊肿吃什么药?
22
用手按压刺激淋巴结会肿大吗?
23
浅表淋巴结有哪些?
24
做双眼皮会后悔吗?
25
多发性脓肿?
26
提眉术疼吗?
27
割双眼皮后悔的有吗?
28
切眉手术危险吗?
29
小儿阑尾术后如何预防粘连性肠梗阻?
30
皮下组织感染严重吗?
31
怀孕有15周多,脸上起湿疹了,脸上,乳
32
肠胃不好的喝什么茶比较好?
33
一个多月宝宝脐疝带?
34
婴儿出现脐疝怎么办?
35
婴儿颅内出血后遗症吗?
36
切口疝手术需要全麻吗?
37
婴儿疝气带怎么贴?
38
支原体感染咳嗽一个半月希舒美吃了没有用
39
小孩疝气必须要手术吗?
40
无精症有怀孕的例子吗?
41
肩胛骨痛会引起胸痛吗?
42
淋巴结炎多久能消肿?
43
内膜异位症平时也疼吗?
44
鼻梁中间疼是怎么回事?
45
白细胞偏低低烧两天小孩子?
46
女孩不孕原因小时候?
47
做疝气手术注意什么?
48
心脏生物瓣膜钙化严重吗?
49
什么是完全失神经?
50
腋下淋巴结肿大红肿?
51
做了肠镜,溃疡性肠炎能治好吗?
52
胸口闷出不了气怎么回事
53
垫下巴用什么牌子的硅胶?
54
囊肿性痤疮能治好吗?
55
年轻人脑血管堵塞的症状?
56
腹部积水原因?
57
疤性鼓膜炎怎么治疗?
58
在排卵期几天同房一次?
59
紧急避孕药不孕的概率?
60
鼓膜炎症状和治疗方法?
61
你好,请问舌头上面白白的,唾沫黏黏的,
62
为什么婴儿有的头大?
63
腹部包块用手能摸到吗?
64
儿童骨皮质缺损怎么办?
65
小儿脑珠网膜囊肿是怎么引起的?
66
一分钟一期有什么技巧80630472
67
儿童骨皮质缺损症状?
68
手指大伤口怎么处理?
69
双侧肌间静脉丛血栓严重吗?
70
腹壁疝由什么组成?
71
腋下淋巴结肿大怎么治?
72
蜂窝组织炎怎么治疗?
73
同房怎么才能容易怀孕?
74
女性雄激素过低吃什么?
75
门诊结肠镜发现息肉会摘除吗?
76
宝宝肚脐息肉用住院吗?
77
腹股沟疝属于什么科?
78
宝宝为什么总是便秘?
79
有卵泡不排卵的原因?
80
刀口去疤什么药膏管用?
81
产妇尿酸高怎么办?
82
类风湿会引起肾病吗?
83
乳腺导管病变怎么治疗?
84
肾炎需要治疗多长时间?
85
眼部整形好不?
86
眼球毛细血管出血需要眼药吗?
87
胃肠消炎吃什么消炎药?
88
眼睛血管破裂怎么处理?
89
痛经可以看急诊吗?
90
胃肠道感染不能吃什么?
91
为什么小便很浑浊?
92
天生脖子粗怎么变细?
93
久咳不愈有痰吃什么药?
94
遗尿症会自愈吗?
95
男性膀胱位置感觉有沉重感?
96
为什么晚上偶尔尿床?
97
感冒冒虚汗是怎么回事?
98
咳嗽痰多是什么原因造成的?
99
为什么感冒会咳出黄痰?
100
婴儿撒尿地方有点黑正常吗?