[发明专利]使本机程序被主程序调用时继承事务上下文的方法和系统有效
申请号: | 201210222095.2 | 申请日: | 2012-06-28 |
公开(公告)号: | CN102968333A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | M·B·阿南塔帕德马纳布;J·库里安;I·J·米切尔;A·索德;H·N·文基塔恰拉姆 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/30 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;张亚非 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 主程序 调用 继承 事务 上下文 方法 系统 | ||
技术领域
本发明涉及一种使本机程序在被单独环境中运行的主程序调用时继承相同事务上下文的方法和系统。
背景技术
包含嵌入式SQL语句的旧式COBOL应用通常在大型机或其他托管的环境中运行。为了实现现代化,可以基于Java虚拟机(JVM)环境在Java EE应用服务器中重新托管旧式应用。此类重新托管可以导致包括两个不同应用的企业应用,一个使用诸如COBOL之类的本机语言编写,另一个使用Java编写。例如,Java应用在Java EE兼容应用服务器(例如,WebSphere Application Server(WAS),其在自己的JVM进程中运行)中作为Java企业版(EE)应用运行。本机程序被托管在单独托管环境中,该环境在JVM进程外部作为本机OS进程运行。Java EE应用充当事务协调器并调用本机应用。但是,在不修改本机应用的情况下,现有技术不会在相同事务上下文中调用该本机应用,并将使用来自两个环境的单独数据库连接。使用来自两个托管环境的单独数据库连接可在来自两个托管环境的应用访问同一数据库资源时导致死锁。
发明内容
根据本发明的一个实施例,提供了一种用于使本机应用在被单独托管环境中运行的主应用所调用时继承事务上下文的方法,所述方法包括:由第一托管环境中的本机应用服务器的接口接收用于由第二托管环境中的主应用服务器处的所述主应用调用所述本机应用服务器处的所述本机应用的唯一事务上下文标识符;由所述本机应用服务器的所述接口从所述本机应用接收SQL语句;由所述本机应用服务器的所述接口将所述SQL语句和所述唯一事务上下文标识符发送到所述主应用服务器以便执行;由所述本机应用服务器的所述接口从所述主应用服务器接收所述SQL语句的执行结果和所述唯一事务上下文标识符;以及由所述本机应用服务器的所述接口将所述结果发送到所述本机应用。
在本发明的一个方面中,由所述本机应用服务器的所述接口从所述本机应用接收SQL语句的步骤进一步包括:由所述本机应用服务器的所述接口将所述SQL语句转换为所述第二托管环境的格式。
在本发明的一个方面中,由所述本机应用服务器的所述接口从所述主应用服务器接收所述SQL语句的执行结果和所述唯一事务上下文标识符的步骤进一步包括:由所述本机应用服务器的所述接口将所述结果转换为所述第一托管环境的格式。
在本发明的一个方面中,由第一托管环境中的本机应用服务器的接口接收用于由第二托管环境中的主应用服务器处的所述主应用调用所述本机应用服务器处的所述本机应用的唯一事务上下文标识符的步骤进一步包括:由所述主应用服务器处的所述主应用调用所述本机应用;由所述主应用服务器将程序控制转移到所述第一托管环境;以及由所述主应用服务器将用于所述调用的所述唯一事务上下文标识符发送到所述本机应用服务器的所述接口。
在本发明的一个方面中,由所述本机应用服务器的所述接口将所述SQL语句和所述唯一事务上下文标识符发送到所述主应用服务器以便执行的步骤进一步包括:由所述主应用服务器的第二接口从所述本机应用服务器的所述接口接收所述SQL语句;由所述主应用服务器的所述第二接口将所述SQL语句的执行委托给所述主应用服务器的线程;由所述主应用服务器的所述线程在数据库上执行所述SQL语句并将执行结果返回到所述第二接口;以及由所述主应用服务器的所述第二接口将所述SQL语句的所述执行结果和所述唯一事务上下文标识符返回到所述本机应用服务器的所述接口。
在本发明的一个方面中,由所述本机应用服务器的所述接口从所述主应用服务器接收所述SQL语句的执行结果和所述唯一事务上下文标识符的步骤进一步包括:由所述本机应用服务器的所述接口判定所述结果是否包括所述SQL语句的执行错误;以及响应于判定所述结果包括所述错误,由所述本机应用服务器的所述接口将所述错误转换为所述第一托管环境的格式。
在本发明的一个方面中,还包括:由所述本机应用服务器的所述接口判定所述本机应用的执行是否已终止;响应于判定所述本机应用的执行已终止,由所述本机应用服务器的所述接口判定所述本机应用的执行终止是否正常;以及响应于判定所述本机应用的执行终止不正常,由所述本机应用服务器的所述接口向所述主应用服务器通知异常终止。
在此还描述和要求保护了对应于上述方法的系统和计算机程序产品。
附图说明
图1示出了一种用于使本机应用在被单独托管环境中运行的主应用所调用时继承相同事务上下文的系统的一个实施例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210222095.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:工程机械及其水平支腿伸缩状态检测装置及系统
- 下一篇:一种吊卡滑车装置