TLQ8产品培训开发环境ppt课件_第1页
TLQ8产品培训开发环境ppt课件_第2页
TLQ8产品培训开发环境ppt课件_第3页
TLQ8产品培训开发环境ppt课件_第4页
TLQ8产品培训开发环境ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TongLINK/Q8.0 开发环境,演 讲 人: 演讲时间:,目录,API介绍及应用程序开发 应用举例 练习,API介绍及应用程序开发,API介绍及应用程序开发,普通API介绍,API与核心的交互机制,普通API介绍,主要结构及作用 连接标识: TLQ_ID 应用实例标识:TLQ_QCUHDL 消息描述: TLQMSG_INFO 消息操作选项:TLQMSG_OPT 消息错误信息:TLQError 重要字符串 消息内容: msgcontent 用户属性: UserProperty,普通API介绍,消息由三部分组成: 消息描述(必需)用户自定义属性(可选)消息内容(必需),普通API介绍,tlq

2、_api.h TLQMSG_INFO结构: struct msg_info char VerNo; /* 版本号 */ char MsgType; /* 消息类型*/ char UsrContextUSR_CONTEXT_LEN+1; /* 消息的用户数据 */ int MsgSize; /* 消息长度 */ int Expiry; /* 生命周期 */ char Priority; /* 优先级,0.9 */ char Persistence; /* 持久性类型 */ char MsgOperateType; /* 消息控制类型 ,压缩或安全出口*/ char MsgOperateInfoO

3、PERATEDATALEN +1; /* 消息控制数据 */ unsigned int UserPropertyLen; /* 用户自定义属性串的长度 */ unsigned int UserPropertyNum; /*用户自定义属性的个数 */ char CorrMsgIdMSGIDLEN+1; /* 消息的关联属性*/,普通API介绍,以下属性在消息发送时由核心赋值,应用时不必关心, *发送成功返回后,可获取这些属性的值 char SrcNodeNAMELEN+1; /* 消息的源节点*/ char DestQNameNAMELEN+1; /* 目标队列名*/ int PutDateTi

4、me; /* 消息发送时间*/ char GroupIDMSGIDLEN+1; /* 组标识*/ int GroupSeq; /* 组序号*/ char GroupStatus; /* 组消息的状态*/ char MsgOrigin; /* 消息的来源*/ char MsgIdMSGIDLEN+1; /* 消息标识 */ unsigned int OrgMsgLen; /* 消息处理前的长度 */ char LONG_INT_MAXLEN; /* 文件大小*/ int EvTime; /* 事件产生的时间*/ unsigned int EvStyle; /* 事件类型*/ int Rollba

5、ckCount; /*消息回滚次数*/ char Reserve16; /* 以备后用 */ short OffSet; /* 偏移量*/ ,普通API介绍,以下属性在消息发送时由核心赋值,应用时不必关心, *发送成功返回后,可获取这些属性的值 char SrcNodeNAMELEN+1; /* 消息的源节点*/ char DestQNameNAMELEN+1; /* 目标队列名*/ int PutDateTime; /* 消息发送时间*/ char GroupIDMSGIDLEN+1; /* 组标识*/ int GroupSeq; /* 组序号*/ char GroupStatus; /*

6、组消息的状态*/ char MsgOrigin; /* 消息的来源*/ char MsgIdMSGIDLEN+1; /* 消息标识 */ unsigned int OrgMsgLen; /* 消息处理前的长度 */ char LONG_INT_MAXLEN; /* 文件大小*/ int EvTime; /* 事件产生的时间*/ unsigned int EvStyle; /* 事件类型*/ int RollbackCount; /*消息回滚次数*/ char Reserve16; /* 以备后用 */ short OffSet; /* 偏移量*/ ,普通API介绍,函数接口的作用: 实现应用与

7、核心的交互 实现个性化应用的定制,普通API介绍,接口分类,普通API介绍,连接断开系统资源,1.连接系统资源 int Tlq_Conn(TLQ_ID *gid,TLQError *err); 2.断开系统资源 int Tlq_DisConn(TLQ_ID *gid,TLQError *err); 说明:这两个函数成对出现,普通API介绍,开始结束应用实例,1.开始应用实例 int Tlq_OpenQCU(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle, char *QCUName,TLQError *err); 2.结束应用实例 int Tlq_CloseQCU(TLQ_

8、ID *gid,TLQ_QCUHDL *qcuHandle, TLQError *err); 说明:这两个函数成对出现,普通API介绍,初始化函数,1.初始化TLQMSG_INFO int Tlq_InitMsgInfo (TLQMSG_INFO *pUsrMsg); 2.初始化TLQMSG_OPT int Tlq_InitMsgOpt(TLQMSG_OPT *msgopt);,普通API介绍,发送消息,包括普通消息、组消息、订阅事件消息、发布订阅、取消发布订阅等 int Tlq_PutMsg(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQMSG_INFO *pUs

9、rMsg,TLQMSG_OPT *msgopt,char *UsrProperty, char *msgcontent,TLQError *err); msgopt .OperateType 为不同的值,表示的不同操作 TLQOT_PUT 发送消息 TLQOT_PUB 发布消息 TLQOT_DELPUB 取消发布 TLQOT_SUB 订阅消息 TLQOT_DELSUB 取消订阅,普通API介绍,int Tlq_GetMsg(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQMSG_INFO *pUsrMsg,TLQMSG_OPT *msgopt,char *msgcon

10、tent,TLQError *err); msgopt .OperateTypeTLQOT_GET 时,表示接收消息 msgopt .OperateTypeTLQOT_BROWSE 时,表示浏览消息,接收消息和浏览消息,普通API介绍,int Tlq_DeleteMsg(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle, TLQMSG_INFO *pUsrMsg,TLQMSG_OPT *msgopt,int *msg_num,TLQError *err); msgopt .DelState 值标识删除不同状态的消息 TLQSTATE_ALL 删除所有状态的消息 TLQSTAT

11、E_READY 删除没有发送或接收完毕的消息 TLQSTATE_SENDING 删除正在发送的消息 TLQSTATE_RECEIVING 删除正在接收的消息,删除消息,普通API介绍,int Tlq_AckMsg(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQMSG_INFO *pUsrMsg ,TLQMSG_OPT *msgopt,int AckType,TLQError *err); msgopt . AckMode 值标识删除不同状态的消息 TLQACK_AUTO 自动确认模式,消息接收后即被删除 TLQACK_USER 用户确认模式,消息接收后并不删除,必须

12、等待 用户确认模式下,AckType分别取值如下: TLQACK_COMMIT 提交确认 TLQACK_ROLLBACK 回滚确认,消息接收确认,普通API介绍,1.组消息开始的标志 int Tlq_BeginGroup (TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQError *err); 2.提交组消息 int Tlq_CommitGroup (TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQError *err); 3.回滚组消息 int Tlq_RollbackGroup (TLQ_ID *gid,TLQ_QCUHDL *qcuH

13、andle,TLQError *err); 说明:2、3必须与1配对使用,组消息接口,普通API介绍,1.事务开始标志 int Tlq_Begin(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQError *err); 2.事务提交标志 int Tlq_Commit(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQError *err); 3.事务失败后用于回滚事务 int Tlq_Rollback(TLQ_ID *gid,TLQ_QCUHDL *qcuHandle,TLQError *err); 说明:2、3必须与1配对使用,事务接口,普

14、通API介绍,main() Tlq_Conn(/断开系统资源 说明:这是应用实例运行的基本框架,是必需的,应用模式,瘦客户,瘦客户开发,瘦客户,瘦客户,1、获取连接工厂 Tlq_ClusterLookup(TLQCLUSTER_FACTORY *list, /集群连接列表 int *num, /集群连接数 char *jndiUrl, /jndi服务器地址 char *ClusterQname, /集群队列名 TLQError *tlqerr); /错误信息,客户端专用函数说明,瘦客户,2、创建生产、消费者实例,Tlq_ClusterCreateInstance(TLQCLUSTER_HAND

15、LE *ClusterId, /IN/OUT实例句柄 TLQCLUSTER_FACTORY *list, /集群成员地址列表 int listnum, /集群成员个数 int ConnectionNum, /单个成员创建连接数 int flag, /实例类型,0:发送,1:接收 int sequence, /实例序号,同一进程中不同实例序号不能相同 TLQMSG_INFO *uMsg, /用于接收消息的消息描述,发送实例忽略此参数 TLQMSG_OPT *msgopt,/用于接收消息的操作选项,发送实例忽略此参数 int MaxSize, /发送实例可发送消息的最大值,小于等于0时使用系统默认

16、值 char *library, /用于接收实例处理消息用的动态库全路径 OnException_t *ExHandle, /自定义的回调函数 TLQError *tlqerr) /错误信息,瘦客户,3、生产者发送消息,Tlq_ClusterProducer(TLQCLUSTER_HANDLE *ClusterId, /实例句柄 TLQMSG_INFO *uMsg, /消息描述 TLQMSG_OPT *msgopt, /消息操作 char *msgcontent, /消息内容 char *UserProperty, /自定义属性值 int prolen, /自定义属性长度 TLQError *tlqerr); /错误信息 应用通过生产者向集群队列发送消息。,瘦客户,5、关闭集群实例,Tlq_ClusterCloseInstance(TLQCLUSTER_HANDLE *ClusterId); 关闭集群实例,释放系统资源。,4、通知集群实例开始接收处理数据 Tlq_ClusterConsumer(TLQCLUSTER_HANDLE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论