【Tuxedo ATMI】是Oracle公司的分布式事务处理中间件,它提供了一组API供开发者使用,以便在C/C++程序中实现与Tuxedo服务器的交互。ATMI(Application Transaction Monitor Interface)接口包含了多种函数,用于管理缓冲区、FML(Field Markup Language)数据结构、连接、请求以及错误处理。 1. **与缓冲区使用有关的 ATMI** - **tpalloc**: 分配一个指定类型和子类型的缓冲区。`tpalloc`函数用于动态内存分配,返回指向分配空间的指针,如果分配失败则返回NULL。 - **tprealloc**: 重新调整已分配缓冲区的大小。`tprealloc`用于改变缓冲区的容量,返回新分配空间的指针,失败同样返回NULL。 - **tpfree**: 释放由`tpalloc`或`tprealloc`分配的缓冲区。这个函数负责释放内存,避免内存泄漏,注意不能用标准库的`free`函数代替。 - **tptypes**: 查询缓冲区的类型和子类型。`tptypes`用于识别缓冲区的数据类型,返回0表示成功,-1表示失败,并将错误号保存在全局变量`tperrno`中。 2. **常用的 FML(FML32)操作函数** - **Falloc**: 分配一个FML缓冲区。`Falloc`用于创建FML数据结构,用于存储结构化的数据,不能用于ATMI调用,如`tpcall`等,错误号保存在`Ferror`全局变量中。 - **Finit**: 初始化FML缓冲区。`Finit`对FML缓冲区进行初始化设置,返回-1表示失败。 - **Fadd**: 在FML缓冲区中添加新的字段值。`Fadd`将一个值添加到指定字段,返回-1表示失败。 - **Fchg**: 修改FML缓冲区中字段的值。`Fchg`用于更改指定字段的值,返回-1表示失败。 - **Fget**: 获取FML缓冲区中字段的值。这个函数允许从FML结构中检索特定字段的信息。 - **Fprint**: 将FML缓冲区的内容打印到输出设备。这在调试和日志记录时非常有用。 - **Ferror**: 用于检查FML操作中的错误信息。 3. **连接的建立与断开有关的 ATMI** - **tpchkauth**: 验证客户端的权限。这个函数用于安全检查,确保客户端有权限执行操作。 - **tpinit**: 初始化ATMI环境。`tpinit`用于启动ATMI服务,是每个ATMI应用程序的起点。 - **tpterm**: 终止ATMI环境。`tpterm`用于清理并结束ATMI服务,是ATMI程序的终点。 4. **与请求 TUXEDO SERVER 有关的 ATMI** - **tpcall**: 向Tuxedo服务器发送同步请求。这是ATMI中最基本的调用方式,等待服务器的响应。 - **tpacall**: 发送异步请求。`tpacall`允许客户端在等待服务器响应的同时执行其他任务。 - **tpgetrply**: 获取异步请求的回复。用于从Tuxedo服务器接收响应。 - **tpcancel**: 取消一个正在等待的异步请求。如果需要取消正在进行的请求,可以使用此函数。 - **tpgprio**: 设置或获取线程优先级。ATMI提供了对线程优先级的控制,以优化性能。 - **tpsprio**: 设置当前线程的优先级。类似于`tpgprio`,但直接设置线程优先级。 5. **与请求错误处理有关的 ATMI** - **tpstrerror**: 返回与错误码相关的错误消息字符串。当发生错误时,可以调用此函数获取易于理解的错误描述。 - **tperrordetail**: 获取错误详情。提供更详细的错误信息,帮助诊断问题。 - **tpstrerrordetail**: 输出错误详情到标准错误流。方便在命令行环境中查看错误信息。 Tuxedo ATMI的这些函数为开发者提供了丰富的功能,以构建高效、可靠的分布式应用。通过熟练掌握这些函数,开发人员可以构建出与Tuxedo服务器交互的应用程序,实现复杂的事务处理和数据交换。


















剩余8页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Android平台的电子相册设计与实现格式修改后.docx
- 移动互联医疗信息化解决方案医院微信公众平台服务.docx
- 网络安全从我做起主题演讲稿2022-20237篇【精选范文】.docx
- java毕业设计,驾校管理系统
- 生物学数据库的内容与结构.pptx
- 项目管理策划书(空白模板).doc
- 施工进度计划横道网络图.doc
- 大堡礁经典网络营销案例.ppt
- 最新国家开放大学电大《网络营销与策划》机考3套真题题库及答案2.pdf
- 云计算课件全套电子教案整书教案教学设计教学教程.pptx
- 基于MATLAB的同步发电机励磁系统的建模与仿真研究.doc
- 公司信息化规划管理办法.doc
- 软件生产企业所得税的筹划.doc
- 西南医院虚拟化平台扩容业务规划.pptx
- 直线圆椭圆生成算法市公开课金奖市赛课一等奖课件.pptx
- 如何写好的网站策划方案.doc


