从z / OS批处理作业运行XA / JTA事务

时间:2015-01-13 17:35:54

标签: jdbc db2 jta zos xa

使用JZOS启动程序批量执行java程序。

JDBC的DB2驱动程序支持XA事务,但似乎只有当进程在"事务管理器"的控制下运行时才能使用它们。 (运行WebSphere / CICS流程时会发生什么)

有没有办法批量使用这种交易?

目标是在单个提交/回滚中混合DB2 / Oracle插入/更新

3 个答案:

答案 0 :(得分:0)

ibm站点提供an example(参见图3 - 使用JTA的分布式事务示例)和包含的事务管理逻辑

这似乎只有在使用到DB2的类型4(远程)连接

时才有可能

答案 1 :(得分:0)

SimpleJTA是一个可以直接用于解决问题的项目,或者作为目的封装的参考:

  

SimpleJTA实现了一个独立的JTA兼容事务   经理。它主要用于J2EE服务器时使用   例如,可以在Servlet应用程序或独立Java中使用   程序

但它应该被调整/配置为使用DB2

  

SimpleJTA正在使用Oracle 9i和Apache进行开发和测试   Derby数据库管理系统。添加支持相当容易   对于支持XA接口的其他数据库系统。

答案 2 :(得分:0)

更复杂的问题是使用与DB2的类型2(本机/ DLL)连接来完成此作业,因为它不支持分布式事务。如果要在分布式事务中集成来自JNI调用的COBOL程序的更新,则可能需要这样做

也许可以构建类似于WebSphere的last participant support extension的解决方案:

  

最后一个参与者支持是交易服务的扩展   允许单个单相资源参与两阶段   与一个或多个两阶段资源的交易。