`
pengjianbo1
  • 浏览: 232516 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

事务配置概述

阅读更多

配置事务

下列部分提供了与事务相关的配置任务:

 


事务配置概述

管理控制台提供了用于配置 WebLogic Server 功能(包括 WebLogic JTA)的界面。该配置过程包括为各种特性指定值。这些特性定义事务环境,其中包括下列内容:

  • 事务超时和限制
  • 事务管理器行为

您还应该熟悉可以参与事务的各种 J2EE 组件(如 EJB、JDBC 数据源和 JMS)的管理。

注意: 您还可以使用 WebLogic 脚本工具(WLST,请参阅 WebLogic 脚本工具)或 JMX(请参阅使用 JMX 开发自定义管理实用工具)来配置与事务相关的设置。

 


配置 JTA

配置了 WebLogic JTA 以及任何事务参与内容之后,系统就可以使用 JTA API 和 WebLogic JTA 扩展管理事务了。请注意下列事项:

  • JTA(事务)的配置设置可在域级别应用。这就意味着配置特性设置将应用于域中的所有服务器。请参阅“管理控制台联机帮助”中的配置 JTA
  • JTA 的监视任务是在服务器级别执行的。请参阅“管理控制台联机帮助”中的监视 JTA
  • 参与资源(如 JDBC 数据源)的配置设置是基于每个配置的对象的。这些设置应有于特定对象的所有实例。请参阅“配置和管理 WebLogic JDBC”中的事务选项和“管理控制台联机帮助”中的为 JDBC 数据源配置全局事务选项

取消注册资源宽限期

如果您的资源偶尔会取消部署然后再重新部署(如与应用程序一起打包的 JDBC 数据源模块),则可以通过为该域设置“取消注册资源宽限期”,将因为取消注册的资源而导致放弃事务的危险降到最小。该宽限期指的是事务管理器在取消注册资源之前等待事务完成的秒数。

在指定的宽限期中,在 unregisterResource 调用可以返回前将进行阻塞,不会为相关资源启动新事务。如果资源的未处理事务数变为 0,unregisterResource 调用将立即返回。

宽限期结束时,如果仍有与该资源相关的未处理事务,unregisterResource 调用将返回,并在该资源以前注册的服务器上写入日志消息。

管理事务的其他特性

默认情况下,如果参与全局事务的 XA 资源无法响应来自 WebLogic Server 事务管理器的 XA 调用,WebLogic Server 则会将该资源标记为不正常且不可用,并且会阻塞对于该资源的任何进一步调用,以保留资源线程。这种失败可能是由不正常的事务或者不正常的资源造成的 – 两种原因之间没有区别。在这两种情况下,资源都会标记为不正常。

为了减轻此限制,WebLogic Server 提供了表 3-1 中列出的配置特性:

表 3-1 XA 资源运行状况监视配置特性
特性
MBean
定义
ResourceHealthMonitoring
JDBCXAParamsBean MBean 中的 ResourcehealthMonitoring 特性
启用或禁用 JDBC 数据源的资源运行状况监视。此特性仅适用于对于数据库连接使用 XA JDBC 驱动程序的数据源。如果使用非 XA JDBC 驱动程序,该特性则会被忽略。
如果设置为 true,则启用资源运行状况监视。如果 XA 资源在 MaxXACallMillis 特性指定的时间段内无法响应 XA 调用,WebLogic Server 则会将该数据源标记为不正常,并且阻塞对于该资源的任何进一步调用。
如果设置为 false,该功能则禁用。
默认值:true
您可以在管理控制台的 JDBC 数据源: 配置: 连接缓冲池选项卡中为 JDBC 数据源设置“资源运行状况监视”特性。
MaxXACallMillis
设置对于 XA 资源的 XA 调用的最长允许持续时间(毫秒)。此设置应用于整个域。
默认值:120000
MaxResourceUnavailableMillis
XA 资源标记为不正常的最长持续时间(毫秒)。在此持续时间之后,会声明该 XA 资源重新可用,即使未使用事务管理器明确重新注册该资源也是如此。此设置应用于整个域。
默认值:1800000
MaxResourceRequestOnServer
域中每个服务器所允许的最大并发资源请求数。
默认值:50
最小值:10
最大值:java.lang.Integer.MAX_VALUE

 

当域不活动时可以直接在 config.xml 文件中设置这些特性(但 JDBC 数据源的“资源运行状况监视”除外)。这些特性在管理控制台中不可用。下面的示例显示了具有这些特性的配置文件节选:

...

   <JTA
    MaxUniqueNameStatistics="5"
    TimeoutSeconds="300"
    RecoveryThresholdMillis="150000"
    MaxResourceUnavailableMillis="900000"
    MaxResourceRequestOnServer="60"
    MaxXACallMillis="180000"
   />

 


为域间事务配置域

为了使得事务管理器可以管理分布式事务,该事务管理器必须能够与所有参与资源进行通信以准备事务,然后提交或回滚事务。这适用于 WebLogic 域充当分布式事务中的事务管理器或者事务参与方(资源)的情况。下列部分描述了如何对域进行配置以启用域间事务。要了解 WebLogic 域之间互操作性的详细信息,请参阅“确保 WebLogic Server 安全”中的启用 WebLogic Server 域之间的信任

下列部分提供了有关如何为域间事务配置域的信息:

域间事务的限制

请注意域间事务的下列限制:

  • 不能手工解决 WebLogic Server 7.0 或更早版本的 WebLogic Server 域中资源上的未完成事务。
  • 域和所有参与资源必须具有唯一名称。即,JDBC 数据源、服务器或域不能与其他域或该域中的对象具有相同名称。
  • 只有同时具有下列两个特性条件的数据源可以参与全局事务,而不管在其中配置该数据源的域是什么:
    • 选择了“记录上一个资源”或“仿真两阶段提交”。
    • 该数据源使用非 XA 驱动程序创建数据库连接。

注意: BEA 建议您在全局事务中使用 XA 驱动程序而不要使用非 XA 驱动程序(具有“仿真两阶段提交”)。在全局事务中使用非 XA 驱动程序有一些风险。请参阅“配置和管理 WebLogic JDBC”中的使用非 XA 驱动程序仿真两阶段提交时的限制和风险

WebLogic Server 域的域间事务

要管理或参与跨越多个 WebLogic Server 域(即,所有参与域基于 WebLogic Server 9.x、8.x、7.x 和 6.x 域运行,或基于 9.x、8.x、7.x 和 6.x 的组合运行)的事务,必须通过建立域信任并设置Security Interoperability Mode启用域间事务。对于所有参与域:

  1. 在所有 WebLogic Server 6.x 参与域中,在管理控制台的“安全”箭头符号“用户”选项卡上将所有参与域的 system 用户的密码更改为相同的值。请参阅 Changing the System Password
  2. 将所有参与域中所有域的安全凭据设置为相同的值,从而建立域信任。如果您具有 6.x 参与域,则请将所有域的安全凭据设置为与所有 WebLogic Server 6.x 参与域中的 system 密码相同的值。
  3. 对于参与事务的每个服务器,请在重新引导之前,根据表 3-2 设置Security Interoperability Mode标志。请参阅设置安全互操作性模式

设置安全互操作性模式

Security Interoperability Mode使您能够在全局事务中的服务器之间配置兼容的通信通道。

配置安全互操作性模式

每个参与服务器都必须将Security Interoperability Mode参数设置为相同的值:

有效值是:

  • 默认 - 如果启用了管理通道,事务协调器则通过它以内核身份进行调用,否则将以匿名身份进行调用。如果未启用管理通道,则可能发生中间人攻击。
  • 性能 – 事务协调器总是使用匿名身份进行调用。这意味着存在安全风险,因为恶意第三方可能会尝试使用中间人攻击影响事务的结果。
  • 兼容 – 事务协调器通过非安全通道以内核身份进行调用。这是一个较高的安全风险,因为成功的中间人攻击会使攻击者获取对两个域的管理控制。此设置应该仅在强网络安全就位时使用。

要为参与服务器配置安全互操作性模式,请参阅:

确定安全互操作性模式设置

使用下表确定为域间事务配置通信通道时所需的Security Interoperability Mode设置。

表 3-2 域间事务的安全互操作性设置
9.x
8.1 SP5 和更高版本
7.0 SP7 和更高版本
8.1 SP4 和更低版本
7.0 SP6 和更低版本
6.x
9.x
将两个域均设置为默认或性能
将两个域均设置为性能
将两个域均设置为性能
将 9.x 域设置为兼容
将 9.x 域设置为兼容
将 9.x 域设置为兼容
8.1 SP5 和更高版本
将两个域均设置为性能
将两个域均设置为性能
将两个域均设置为性能
将 8.1 SP5 和更高版本的域设置为兼容
将 8.1 SP5 和更高版本的域设置为兼容
将 8.1 SP5 和更高版本的域设置为兼容
7.0 SP7 和更高版本
将两个域均设置为性能
将两个域均设置为性能
将两个域均设置为性能
将 7.0 SP7 和更高版本的域设置为兼容
将 7.0 SP7 和更高版本的域设置为兼容
将 7.0 SP7 和更高版本的域设置为兼容
8.1 SP4 和更低版本
将 9.x 域设置为兼容
将 8.1 SP5 和更高版本的域设置为兼容
将 7.0 SP7 和更高版本的域设置为兼容
N/A
N/A
N/A
7.0 SP6 和更低版本
将 9.x 域设置为兼容
将 8.1 SP5 和更高版本的域设置为兼容
将 7.0 SP7 和更高版本的域设置为兼容
N/A
N/A
N/A
6.x
将 9.x 域设置为兼容
将 8.1 SP5 和更高版本的域设置为兼容
将 7.0 SP7 和更高版本的域设置为兼容
N/A
N/A
N/A

 

注意: 如果“安全互操作性模式”设置为性能时,则不需要设置域之间的域信任。

 


事务日志文件

每个服务器都具有一个事务日志,其中存储着服务器协调的、可能尚未完成的已提交事务的相关信息。WebLogic Server 从系统崩溃或网络失败恢复时使用该事务日志。您不能直接查看事务日志 – 记录的格式为二进制,存储在服务器的默认持久性存储中。

为了利用群集中服务器的事务恢复服务的迁移功能,您必须将事务日志存储在可用于服务器及其备份服务器的位置,最好存储在双端口 SCSI 磁盘或存储区域网络(Storage Area Network,简称 SAN)中。有关详细信息,请参阅设置默认持久性存储的路径

如果默认存储保存事务日志记录的文件系统空间不足或不可访问,commit() 则会引发 SystemException,事务管理器会在系统错误日志中放入一条消息。在提供更多空间之前不会提交任何事务。

设置默认持久性存储的路径

每个服务器实例(包括管理服务器)都有默认持久性存储,这是一种基于文件的存储,可用于无需明确选择特定存储并且通过使用系统默认存储机制会发挥最高性能的子系统。事务管理器使用默认持久性存储来存储事务日志记录。在许多情况下,默认持久性存储无需任何配置。然而,要启用事务恢复服务的迁移,必须对默认持久性存储进行配置,使其将其数据文件存储在持久性存储解决方案(如果原始服务器出现故障,可用于群集中的其他服务器)中。

有关说明,请参阅“管理控制台联机帮助”中的配置事务恢复服务迁移的默认持久性存储

设置默认持久性存储同步写入策略

WebLogic Server 使用默认持久性存储来存储事务日志记录。您可以为默认存储选择写入策略,以更改 WebLogic Server 向磁盘写入记录的方式。您可以选择下列选项之一:

  • 缓存刷新 – 每次向存储写入条目之后都刷新操作系统和磁盘缓存。提交记录写入稳定存储之前,不能提交事务。
  • 已禁用 – 事务的写入缓存到内存后该事务立即完成,而不等待写入成功到达磁盘。此策略的速度最快,但对于事务而言并不安全。停电或操作系统失败可能会导致条目丢失或重复。
    警告: “已禁用”的同步写入策略对于事务而言不安全。如果应用程序使用全局事务,则请不要选择此选项。
  • 直接写入 – 每次写入时都强制操作系统直接写入磁盘。此选项在 Windows、Solaris 和 HP-UX 平台上可用。

在 Windows 上,直接写入事务日志文件写入策略可能会将事务数据保留在磁盘上缓存中,而不直接写入磁盘。这对于事务而言并不安全,因为电源故障可能导致丢失磁盘缓存中的数据。为了防止在 Windows 上使用直接写入事务日志文件写入策略时缓存数据丢失,请禁用磁盘的所有写入缓存(默认情况下为启用状态),或者对于系统使用电池备用。

有关说明,请参阅“管理控制台联机帮助”中的配置事务恢复服务迁移的默认持久性存储

分享到:
评论

相关推荐

    SSH事务配置大全

    #### 一、SSH中的事务配置概述 **标题**:“SSH事务配置大全”指出本文将全面介绍在Spring与Hibernate结合的环境下进行事务管理的各种配置方法。这不仅对日常的工作非常有用,而且对于学习和积累知识也非常有价值。...

    spring事务与配置

    #### 一、Spring事务配置概述 Spring框架提供了强大的事务管理功能,支持编程式事务管理和声明式事务管理。其中声明式事务管理是通过AOP(面向切面编程)技术来实现的,它能让我们在不修改业务代码的前提下完成事务...

    Spring配置的5种方式

    #### 二、Spring事务配置概述 Spring框架支持多种事务管理方式,包括编程式事务管理和声明式事务管理。其中,声明式事务管理因其实现简便而被广泛采用。在Spring中,声明式事务管理可以通过基于XML的配置或者基于...

    spring 事务配置的五种方法

    ### Spring 事务配置的五种方法详解 #### 一、引言 在现代软件开发过程中,事务处理是一项至关重要的技术,特别是在涉及数据库操作时。Spring 框架提供了丰富的事务管理功能,支持多种不同的配置方式来满足不同...

    ssh事务配置.txt

    ### SSH事务配置详解 #### 一、概述 SSH框架(Struts + Spring + Hibernate)是Java Web开发中非常流行的一种组合方案。它结合了MVC(Model-View-Controller)设计模式的优势,提供了灵活的数据访问层(Hibernate...

    《WCF按部就班学习系列7_WCF事务概述》

    让我们深入探讨一下“WCF按部就班学习系列7:WCF事务概述”中的核心知识点。 1. **WCF事务属性**:在WCF服务中,可以通过配置或编程方式启用事务。服务行为`ServiceBehavior`可以设置`TransactionEnabled`属性为`...

    基于java的企业级应用开发:Spring事务管理概述.ppt

    编程式事务管理直接在代码中控制事务的开始、提交和回滚,而声明式事务管理则通过配置XML或使用注解来定义事务边界,更加简洁和易于维护。在大多数情况下,声明式事务管理是推荐的实践,因为它降低了事务管理的侵入...

    spring 事务代理配置

    ### Spring事务管理——声明式事务配置详解 #### 引言 在现代的Java企业级应用开发中,事务处理是确保数据一致性和完整性的重要机制。Spring框架提供了强大的事务管理功能,支持编程式和声明式两种事务管理方式。...

    Spring事务配置的五种方法(二)[总结].pdf

    本文将主要介绍Spring事务配置的两种常见方法:第四种是使用`&lt;tx&gt;`标签配置的拦截器,第五种是全注解的方式。这两种方法都是基于Spring的声明式事务管理,它们能够自动处理事务的开启、提交、回滚等操作,使得开发者...

    跟我学Spring3(12.1)零配置之概述Java开发J

    6. **集成其他技术**:Spring 3的Java配置也方便与如数据访问(JPA、Hibernate)、事务管理、消息传递等其他技术的集成。 7. **测试支持**:Java配置与`@RunWith(SpringRunner.class)`和`@SpringBootTest`等注解...

    CCIX™概述.7z

    3. **事务层(Transaction Layer)**:处理CCIX设备之间的通信协议,确保数据的正确发送和接收。 4. **地址映射和内存访问层(Address Mapping and Memory Access)**:管理设备的地址空间,确保数据访问的一致性。 ...

    Struts-Spring-Hibernate概述

    在本章中,我们将对这三个框架进行概述,探讨它们如何帮助企业应对复杂的Web应用开发挑战。 首先,框架是软件开发中的一个重要概念,它提供了一种标准和可重用的结构,使得开发人员可以专注于业务逻辑,而不是重复...

    TongLINKQ8.1系统概述.pdf

    TongLINKQ8.1系统概述是TongTech®公司开发的一款消息中间件产品,本文档旨在为用户和开发者提供详细的系统功能、系统结构架构、基本概念、队列控制单元、消息管理、发布订阅、集群、网络传输、安全出口、事务、事件...

    Spring配置事务在DAO层和业务逻辑层

    #### 三、事务配置示例 在示例中,我们将重点讨论如何将事务放置在DAO层。 ##### 配置HibernateTransactionManager ```xml &lt;!-- hibernateTransactionManager --&gt; class="org.springframework.orm.hibernate5....

    学习过程中的简单总结概述理解

    本文将针对“学习过程中的简单总结概述理解”这一主题,重点关注Nginx、MySQL以及源码理论的分析,帮助读者深入理解这些关键知识点。 首先,让我们探讨Nginx。Nginx是一个高性能的HTTP和反向代理服务器,广泛用于...

    很好的数据库概述的课件

    数据库性能优化涉及索引设计、查询优化、存储配置等方面。合理设计索引可以加快查询速度,查询优化器则选择执行计划,而硬件和存储设置也能影响数据库性能。 安全与权限管理: 数据库系统需要保护数据免受非法访问...

    SQL server 概述

    1. **企业级功能**:SQL Server 2000支持多处理器和大内存配置,能够处理海量数据,并提供高可用性和灾难恢复解决方案,如镜像、复制和故障转移群集。 2. **安全性增强**:加强了角色管理和权限控制,提供了透明...

    SAP MM模块事务码

    - **功能概述**:此事务码用于创建新的物料主记录。 - **应用场景**:当企业需要添加新产品或新物料到系统时使用该事务码进行操作。 2. **MM02 - 更改物料** - **功能概述**:用于修改已存在的物料主记录。 - ...

    Spring概述与IOC.docx

    【Spring 概述】 Spring 是一个著名的 Java 开源框架,由 Rod Johnson 创建,旨在简化企业级应用程序的开发。它的核心特性包括控制反转(IoC)和面向切面编程(AOP)。Spring 框架的设计理念是轻量级,不仅在体积上...

Global site tag (gtag.js) - Google Analytics