JAIN SLEE 1.0 Specification 阅读笔记(二)

RA 连接 SLEE 中的应用和底层的事件源,例如 SIP 协议栈、 TCP/IP 协议栈、 HTTP 协议栈。

RA接收协议信号或事件,产生Java表示的对象,然后将它们发射到JSLEE应用服务器中。

 

JSLEE RA概念由一个RA Type和具体的RA组成

RA Type主要定义了RA产生的事件类型,SbbRA之间共享信息(Activity Context),以及Sbb用来访问RA的接口。

RA实现了一个RA Type,一般是有状态的,并且构造了一个内部状态机(Activity),根据不同的信号来改变状态。

 

Activity Context相当于Activity的接口,二者一一对应。Activity Context可以被RASbb访问(意即Activity也可以被二者访问)

总之,RA Type定义了RA的类型,RA的实现包装了一个具体的协议栈,来产生Java对象代表的事件到SLEE ASAC用来在RASbb之间交换信息。

 

RA Type的描述符:

event-jar.xml

resource-adaptor-type-jar.xml

deployable-unit.xml

 

RA描述符

resource-adaptor-jar.xml

deployable-unit.xml

 

JSLEE Service

sbb-jar.xml

service.xml

deployable-unit.xml

 

RA Type的事件定义:event-jar.xml片断

<event-definition>

<event-type-name>javax.sip.message.Request.INVITE</event-type-name>

<event-type-vendor>javax.sip</event-type-vendor>

<event-type-version>1.1</event-type-version>

<event-class-name>javax.sip.RequestEvent</event-class-name>

</event-definition>

 

 

resource-adaptor-type-jar.xml

声明activity类型:

<activity-type>

<activity-type-name>

com.maretzke.raframe.ratype.RAFActivity

</activity-type-name>

</activity-type>

一个Activity是一个相关事件流的抽象,可以理解为面向底层的状态机,接收底层协议栈的消息,根据状态变化向上(Sbb)发出事件(Event)

对于SIP来说,一个Activity就是ServerTransactionClientTransaction

一个Activity需要对应一个ActivityHandle(实现javax.slee.resource.ActivityHandle接口),用来标识此Activity

RA的事件处理方法中,通过ActivityHandle来得到Activity(因为RA需要定义一个HashMap表来保存所有activities)

SbbOnXXXEvent方法中,通过ActivityContextInterface来得到Activity

(待续)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值