Jump To Close Expand all Collapse all Table of contents Apache Karaf 事务指南 前言 使开源包含更多 1. 事务简介 Expand section "1. 事务简介" Collapse section "1. 事务简介" 1.1. 什么是事务? 1.2. 事务的 ACID 属性 1.3. 关于事务客户端 1.4. 事务术语描述 1.5. 管理修改多个资源的事务 1.6. 事务和线程之间的关系 1.7. 关于事务服务量 Expand section "1.7. 关于事务服务量" Collapse section "1.7. 关于事务服务量" 1.7.1. 资源提供的服务质量 Expand section "1.7.1. 资源提供的服务质量" Collapse section "1.7.1. 资源提供的服务质量" 1.7.1.1. 事务隔离级别 1.7.1.2. 支持 XA 标准 1.7.2. 事务管理器提供的服务数量 Expand section "1.7.2. 事务管理器提供的服务数量" Collapse section "1.7.2. 事务管理器提供的服务数量" 1.7.2.1. 支持挂起/恢复和附加/缓冲 1.7.2.2. 支持多个资源 1.7.2.3. 分布式事务 1.7.2.4. 事务监控 1.7.2.5. 从失败中恢复 2. Karaf 上的事务开始(OSGi) Expand section "2. Karaf 上的事务开始(OSGi)" Collapse section "2. Karaf 上的事务开始(OSGi)" 2.1. 先决条件 2.2. 构建 camel-jms 项目 2.3. camel-jms 项目的说明 3. 用于配置和引用事务管理器的接口 Expand section "3. 用于配置和引用事务管理器的接口" Collapse section "3. 用于配置和引用事务管理器的接口" 3.1. 事务管理器的作用 3.2. 关于本地、全局和分布式的事务管理器 Expand section "3.2. 关于本地、全局和分布式的事务管理器" Collapse section "3.2. 关于本地、全局和分布式的事务管理器" 3.2.1. 关于本地事务管理器 3.2.2. 关于全球事务管理器 3.2.3. 关于分布式事务管理器 3.3. 使用 JavaEE 事务客户端 3.4. 使用 Spring Boot 事务客户端 Expand section "3.4. 使用 Spring Boot 事务客户端" Collapse section "3.4. 使用 Spring Boot 事务客户端" 3.4.1. 使用 Spring PlatformTransactionManager 接口 Expand section "3.4.1. 使用 Spring PlatformTransactionManager 接口" Collapse section "3.4.1. 使用 Spring PlatformTransactionManager 接口" 3.4.1.1. PlatformTransactionManager 接口的定义 3.4.1.2. 关于 TransactionDefinition 接口 3.4.1.3. TransactionStatus 接口的定义 3.4.1.4. 由 PlatformTransactionManager 接口定义的方法 3.4.2. 使用事务管理器的步骤 3.4.3. 关于 Spring PlatformTransactionManager 实现 Expand section "3.4.3. 关于 Spring PlatformTransactionManager 实现" Collapse section "3.4.3. 关于 Spring PlatformTransactionManager 实现" 3.4.3.1. Local PlatformTransactionManager 实现 3.4.3.2. Global PlatformTransactionManager 实现 3.5. OSGi 在事务客户端和事务管理器间的接口 4. 配置 Narayana 事务管理器 Expand section "4. 配置 Narayana 事务管理器" Collapse section "4. 配置 Narayana 事务管理器" 4.1. 关于 Narayana 安装 4.2. 支持的事务协议 4.3. 关于 Narayana 配置 4.4. 配置日志存储 5. 使用 Narayana 事务管理器 Expand section "5. 使用 Narayana 事务管理器" Collapse section "5. 使用 Narayana 事务管理器" 5.1. 使用 UserTransaction 对象 Expand section "5.1. 使用 UserTransaction 对象" Collapse section "5.1. 使用 UserTransaction 对象" 5.1.1. UserTransaction 接口的定义 5.1.2. UserTransaction 方法的描述 5.2. 使用 TransactionManager 对象 Expand section "5.2. 使用 TransactionManager 对象" Collapse section "5.2. 使用 TransactionManager 对象" 5.2.1. TransactionManager 接口的定义 5.2.2. TransactionManager 方法的描述 5.3. 使用事务对象 Expand section "5.3. 使用事务对象" Collapse section "5.3. 使用事务对象" 5.3.1. 事务接口的定义 5.3.2. 事务方法描述 5.4. 解决 XA 总结问题 Expand section "5.4. 解决 XA 总结问题" Collapse section "5.4. 解决 XA 总结问题" 5.4.1. 如何获取 XA 资源 5.4.2. 关于自动清单 6. 使用 JDBC 数据源 Expand section "6. 使用 JDBC 数据源" Collapse section "6. 使用 JDBC 数据源" 6.1. 关于连接接口 6.2. JDBC 数据源概述 Expand section "6.2. JDBC 数据源概述" Collapse section "6.2. JDBC 数据源概述" 6.2.1. 特定于数据库及通用数据源 6.2.2. 有些通用数据源 6.2.3. 要使用的模式 6.3. 配置 JDBC 数据源 6.4. 使用 OSGi JDBC 服务 Expand section "6.4. 使用 OSGi JDBC 服务" Collapse section "6.4. 使用 OSGi JDBC 服务" 6.4.1. PAX- JDBC 配置服务 6.4.2. 处理的属性摘要 6.4.3. pax-jdb-config 捆绑包如何处理属性 6.5. 使用 JDBC 控制台命令 6.6. 使用加密配置值 6.7. 使用 JDBC 连接池 Expand section "6.7. 使用 JDBC 连接池" Collapse section "6.7. 使用 JDBC 连接池" 6.7.1. 使用 JDBC 连接池简介 6.7.2. 使用 dbcp2 连接池模块 Expand section "6.7.2. 使用 dbcp2 连接池模块" Collapse section "6.7.2. 使用 dbcp2 连接池模块" 6.7.2.1. BasicDataSource 的配置属性 6.7.2.2. 如何配置 DBCP2 池示例 6.7.3. 使用 narayana 连接池模块 6.7.4. 使用 transx 连接池模块 6.8. 将数据源部署为工件 Expand section "6.8. 将数据源部署为工件" Collapse section "6.8. 将数据源部署为工件" 6.8.1. 手动部署数据源 6.8.2. 数据源的工厂部署 6.8.3. 数据源的混合部署 6.9. 使用 Java™ 持久性 API 的数据源 Expand section "6.9. 使用 Java™ 持久性 API 的数据源" Collapse section "6.9. 使用 Java™ 持久性 API 的数据源" 6.9.1. 关于数据源引用 6.9.2. 参考 JNDI 名称 7. 使用 JMS 连接工厂 Expand section "7. 使用 JMS 连接工厂" Collapse section "7. 使用 JMS 连接工厂" 7.1. 关于 OSGi JMS 服务 7.2. 关于 PAX-JMS 配置服务 Expand section "7.2. 关于 PAX-JMS 配置服务" Collapse section "7.2. 关于 PAX-JMS 配置服务" 7.2.1. 为 AMQ 7.1 创建连接工厂 7.2.2. 为 IBM MQ 8 或 IBM MQ 9 创建连接工厂 7.2.3. 在 Apache Karaf 的 Fuse 中使用 JBoss A-MQ 6.3 客户端 Expand section "7.2.3. 在 Apache Karaf 的 Fuse 中使用 JBoss A-MQ 6.3 客户端" Collapse section "7.2.3. 在 Apache Karaf 的 Fuse 中使用 JBoss A-MQ 6.3 客户端" 7.2.3.1. 先决条件 7.2.3.2. 流程 7.2.4. 处理的属性摘要 7.3. 使用 JMS 控制台命令 7.4. 使用加密配置值 7.5. 使用 JMS 连接池 Expand section "7.5. 使用 JMS 连接池" Collapse section "7.5. 使用 JMS 连接池" 7.5.1. 使用 JMS 连接池简介 7.5.2. 使用 pax-jms-pool-pooledjms 连接池模块 7.5.3. 使用 pax-jms-pool-narayana 连接池模块 7.5.4. 使用 pax-jms-pool-transx 连接池模块 7.6. 部署连接工厂作为工件 Expand section "7.6. 部署连接工厂作为工件" Collapse section "7.6. 部署连接工厂作为工件" 7.6.1. 手动部署连接因素 7.6.2. 连接工厂部署 7.6.3. 连接工厂的混合部署 8. 关于 Java 连接器架构 Expand section "8. 关于 Java 连接器架构" Collapse section "8. 关于 Java 连接器架构" 8.1. 简单 JDBC 模拟 8.2. 使用 JCA 概述 8.3. 关于 pax-transx 项目 9. 编写使用事务的 Camel 应用程序 Expand section "9. 编写使用事务的 Camel 应用程序" Collapse section "9. 编写使用事务的 Camel 应用程序" 9.1. 通过标记路由来分离事务 Expand section "9.1. 通过标记路由来分离事务" Collapse section "9.1. 通过标记路由来分离事务" 9.1.1. 带有 JDBC 资源的路由示例 9.1.2. Java DSL 中的路由定义 9.1.3. Blueprint XML 中的路由定义 9.1.4. 默认事务管理器和转换策略 9.1.5. 事务范围 9.1.6. 事务路由中没有线程池 9.1.7. 将路由拆分为片段 9.1.8. 资源端点 9.1.9. 使用资源端点的路由示例 9.2. 通过事务端点划分 Expand section "9.2. 通过事务端点划分" Collapse section "9.2. 通过事务端点划分" 9.2.1. 带有 JMS 端点的路由示例 9.2.2. Java DSL 中的路由定义 9.2.3. Blueprint XML 中的路由定义 9.2.4. DSL 翻译() 命令不需要 9.2.5. 路由开始时的事务端点 9.3. 声明性事务划分 Expand section "9.3. 声明性事务划分" Collapse section "9.3. 声明性事务划分" 9.3.1. bean-level 声明 9.3.2. 顶级声明 9.3.3. tx:transaction 属性的描述 9.4. 事务传播策略 Expand section "9.4. 事务传播策略" Collapse section "9.4. 事务传播策略" 9.4.1. 关于 Spring 事务策略 9.4.2. 传播行为的描述 9.4.3. 在 Blueprint XML 中定义策略 Bean 9.4.4. Java DSL 中带有 PROPAGATION_NEVER 策略的示例 9.4.5. 蓝图 XML 中的 PROPAGATION_N EVER 策略示例 9.5. 错误处理和回滚 Expand section "9.5. 错误处理和回滚" Collapse section "9.5. 错误处理和回滚" 9.5.1. 如何回滚事务 Expand section "9.5.1. 如何回滚事务" Collapse section "9.5.1. 如何回滚事务" 9.5.1.1. 使用运行时例外来触发回滚 9.5.1.2. 使用 rollback() DSL 命令 9.5.1.3. 使用 markRollbackOnly() DSL 命令 9.5.2. 如何定义死信队列 9.5.3. 围绕一个事务捕获例外 法律通告 Settings Close Language: 简体中文 日本語 한국어 English Language: 简体中文 日本語 한국어 English Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: 简体中文 日本語 한국어 English Language: 简体中文 日本語 한국어 English Format: Multi-page Single-page Format: Multi-page Single-page 使开源包含更多 红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看我们的 CTO Chris Wright 信息。 Previous Next