- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MQ网关优化操作手册v12
MQ网关优化操作手册
下面以网银清算为例,来说明怎么使用AE来定制MQ网关。
AE配置说明
定制网关
在“基本定制”-“网关”中右键“新建”,如下图所示,输入网关号和网关名称,选择网关类型,点击确定,完成了网关的基本定制。
动态改变日志级别设置
选择“渠道”,选中需要设置级别的渠道,如625渠道,然后选择“外部交易请求”,如下图所示:
点右键“新建”外部交易码为“0000000000”的外部交易,并设置日志级别,如下图:
这样,使用pbsettranlog工具就可以动态改变MQ网关的日志级别。
处理函数定制
依次选择“基本定制”、“处理函数”、“网关相关”,定制需要的函数,图解如下:
新建MQ渠道
双击“渠道”,在右面的空白处右键“新建”,来新建MQ渠道。
如下图,输入渠道名称和渠道号,点“下一步”。
选择渠道类别为“服务渠道(综合渠道)/S”,网???号选择在“网关定制”中定制的网关,选中渠道状态“正常”。
输入队列管理器名称、发送队列名、接收队列名、消息生存期、渠道超时时间、等待接收时间、网关进程数、缓冲区大小等项。
注:1)其中消息生存期单位是1/10秒,如果设置成-1,就代表消息永久存在;
2)接收超时时间单位是毫秒;
3)消息缓冲区大小单位是KB;
4)通讯模式,如果设置成“MQ事务模式/5”,那么会使用事务方式接收MQ队列的消息。如网银清算,使用的通讯模式是4,不是事务模式;SWIFT使用的是模式5,事务模式。
函数的配置如下
如果通讯模式是MQ事务模式,需要在函数配置中配置“取报文长度函数”。
接口函数说明
报文接收后处理函数
在从MQ中收到消息后进行处理(如可以进行安全认证),AE 中定义该函数。在渠道配置的接收后处理函数中选择配置的函数(函数名自己定义,视应用需要开发)。
函数原型:
int mqrecvfunc(char *buf,int messlen,CHNL_DEF * chnlP,char *rtnbuf)
参数:
buf:mq消息
messlen:消息长度
chnlP:渠道信息
rtnbuf:函数处理后返回的数据区。
返回值 0 成功
0 (-1000 转存成文件) 其他值 :失败
0 返回的数据区大小
获取交易类型函数(请求还是应答交易, 该函数接口必须开发)
AE 中定义该函数。在渠道配置的 取交易类型函数中选择配置的函数(函数名自己定义,注意加头文件#include cmqc.h)。
函数原型:
int GetMsgType(char *buf,CHNL_DEF *chnlP,MQMD md)
参数:
buf:经报文接收后处理函数处理完返回的数据
chnlP:渠道信息
md:消息描述结构体。
返回值:REQUEST(宏) 请求
ANSWER(宏)应答
0 失败
获取外部交易码函数(该函数接口必须开发)
AE 中定义该函数。在渠道配置的 取交易码函数中选择配置的函数(函数名自己定义)。
函数原型:
int gettrancode(char *buf,CHNL_DEF *chnlP,char *trancode)
参数:
buf:经报文接收后处理函数处理完返回的数据
chnlP:渠道信息
trancode:函数处理后返回的交易码。
返回值:0 成功
0 失败
取渠道跟踪码函数(该函数接口必须开发)
AE 中定义该函数,在渠道配置的 取交易码函数中选择配置的函数。
int Chnl_IBPSGetTraceCode(CHNL_DEF *ChnlP, char * rcv_buf, long *TraceCode)
入参: buf 经报文接收后处理函数处理完返回的数据
chnlP 渠道信息
出参:TraceCode:渠道跟踪码。
返回值: 0 成功
0 失败
报文发送前处理函数(该函数接口视需要开发)
在发往MQ网关前应用做消息处理(如可以进行安全认证),AE 中定义该函数。在渠道配置的 发送前处理函
文档评论(0)