如何终止 jboss 超时的数据库事务

2023-12-01

我用的是jboss 4.2.3。

它具有设置“TransactionTimeout”(在jboss-service.xml中),指定允许事务执行多长时间。

不幸的是,当超时过去时,执行不会立即中止,如果事务正在执行某些操作,则只会将其标记为稍后回滚。

效果是-例如,当我有持久事务并且线程正在等待preparedStatement.execute时,当TransactionTimeout过去时,什么也没有发生,客户端仍然挂起,只有当preparedStatement完成时,才会出现事务被回滚的异常。

我尝试了拦截器http://management-platform.blogspot.com/2008/11/transaction-timeouts-and-ejb3jpa.html但它只是将线程标记为中断,大多数方法在执行时不会检查这一点,所以效果是相同的。

我也尝试过设置preparedStatement.setQueryTimeout,但是在Oracle(我们使用的)上,它会等待中止会话,直到oracle想要这样做(例如,它不会中止正在执行的plsql过程dbms_lock.sleep(..)).

我想终止与超时的事务关联的数据库会话 - 我知道它是哪个事务,以及它与哪个线程关联(因为我使用上面给出的链接中的拦截器),但我不知道如何获取事务绑定的会话 - 我必须获取它,杀死它 - 然后线程将被中断。

我是否错过了更简单的解决方案,或者做得完全错误:)?


刚刚对这个主题做了一些研究。有一个JTA配置参数InterruptThreads,默认为false。阅读文档,这意味着线程不会被中断,而只是像您所说的那样标记为回滚。

听起来选项是: 1)将InterruptThreads(在jboss-service.xml中)设置为true并且 2) 还有一些关于定义您自己的“CheckedAction”类的讨论,该类包含在事务处理和终止过程中。

看起来在默认设置下,线程基本上被允许到达某个点,它将回滚您的更新。

还有事务收割机配置,默认为 2 分钟 - 它们检查哪些事务可能已超时 - 因此默认超时为 5 分钟,加上 2 分钟收割机 - 最坏的情况,假设您中断线程,您可以等待7分钟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何终止 jboss 超时的数据库事务 的相关文章

  • Febelfin CODA(编码账户报表)2.3 仅在比利时使用?

    我的任务是编写一些代码来解释来自 不同 比利时 银行的 CODA 文件 CODA 文件代表编码帐户文件文件 似乎是文本文件的比利时名称 其中包含特定银行帐户上发生的每笔银行交易的一行 这包括 SEPA 直接借记交易信息 我们合作的前 2 家
  • 即使浏览器关闭,如何保持 PHP 会话处于活动状态?

    即使用户不小心关闭了浏览器 如何才能保持用户的会话处于活动状态 例如 Facebook 如果您登录他们的网站并关闭选项卡或浏览器 当您再次打开浏览器并访问 Facebook 时 他们会自动检测活动用户 并且不会将您重定向到登录页面 我怎么做
  • Sails.js + Postgres:交易问题

    我试图使用 Postgres 作为数据库在 Sails 0 10 5 中实现事务 但操作最终没有提交 或回滚 这是我作为测试写下的一个简单的事务场景 使用 async js testTransaction function uri var
  • 使用Keycloak保护Tomcat应用程序时出现HTTP 403禁止错误

    我为这个错误苦苦挣扎了一整天 我一遍又一遍地检查我在tomcat中Keycloak和APP的配置 没有发现错误 下图为测试场景 APP配置 1 Keycloak json是从Keycloak控制台复制的 2 context xml 也正确
  • Spring 在 AuthenticationSuccessHandler 中自动装配会话范围 bean 不起作用

    我正在使用 spring security 我想初始化一个对象User在用户成功登录后的会话中 安全配置如下 Configuration EnableWebSecurity PropertySource classpath configs
  • 随机 IIS 会话超时

    我有一个非常奇怪的问题 我正在寻求任何建议 我有一个运行在 IIS 6 上的 ASP NET 网站 它在大多数情况下运行良好 但是 会话似乎是随机清除的 因此 如果我登录 单击周围 我就会被随机启动 有时是在 30 秒 4 次点击之后 有时
  • OnPostAuthenticateRequest 中的 HttpContext.Current.Session 为 null

    这是一个n00b问题 也许你可以帮忙 当我在Application OnPostAuthenticateRequest事件 我无法查看Session since HttpContext Current Session一片空白 这是空的原因吗
  • 我想最小化@Transactional 的范围吗?

    不确定 范围 在这里是否是正确的术语 我使用 Spring 进行 JPA 事务管理 下面有 Hibernate 我执行数据库事务的方法是私有的 但是由于您只能在类或类上设置 Transactional公共方法 http static spr
  • 在ajax上下文中使flask中的会话过期

    我在用permanent session lifetime在一段时间不活动后使用户会话过期 问题是 这个请求是通过 ajax 发出的 所以我无法在 ajax 上下文中以 Flask 的正常行为进行重定向 http xxxx login ne
  • 会话在选项卡之间共享

    我有 JAVA Web 应用程序 我需要停止在浏览器选项卡之间共享会话 这意味着 用户打开浏览器 登录其帐户并在同一浏览器的新选项卡中打开特定页面 根据默认设置 会话将共享到新选项卡 并且用户会自动登录到新选项卡 谁能告诉我如何阻止这种情况
  • session_regenerate_id(true) ajax 请求或快速刷新时的无效会话

    为了避免会话固定 我在每个 PHP 页面的开头使用以下代码 session set cookie params 900 domain 1 1 session start session regenerate id true 但如果页面刷新太
  • 处理 PHP 中的会话劫持

    阅读了 Stackoverflow 上有关会话劫持的许多问题 我发现验证用户会话的唯一 解决方案 是检查用户代理 这是一个薄弱的保护层 我什至懒得去检查实施它 所以 我想知道你们实施了哪些解决方案 您是否使用 PHP 的本机会话或者是否有更
  • 场次抽奖

    有人能解释一下什么是会话扫彩票吗 我已附加 Laravel 框架的默认会话配置文件 问题 1 它说某些会话驱动程序必须manually扫荡他们的 存储位置 有人可以描述这个过程以及为什么会这样吗 必要的 哪些会话驱动程序需要此操作 2 为什
  • OWIN中间件可以使用http会话吗?

    我有一些为 ASP NET 和 SignalR 复制的代码 我决定将其重写为 OWIN 中间件以删除这些重复 一旦我运行它 我注意到HttpContext Current Session为空 并且我没有看到任何会话对象IOwinContex
  • 同时运行 JBoss AS 5 和 JBoss AS 4

    我以为这是 JBoss FAQ 但我找不到它 我想同时运行 JBoss 4 和 JBoss 5 我通过将端口的前导数字更改为 9 来手动更改 JBoss 5 服务器 默认实例上的所有端口 并且它似乎有效 我可以启动 JBoss 4 和 JB
  • MS Access (Jet) 事务、工作区

    我在提交事务 使用 Access 2003 DAO 时遇到问题 它的表现就好像我从未调用过 BeginTrans 我在 CommitTrans 上收到错误 3034 您尝试在未先开始事务的情况下提交或回滚事务 并且更改将写入数据库 大概是因
  • NHibernate、数据绑定到 DataGridView、延迟加载和会话管理 - 需要建议

    我的主应用程序窗体 WinForms 有一个 DataGridView 它使用 DataBinding 和 Fluent NHibernate 显示 SQLite 数据库中的数据 该表单在应用程序运行的整个过程中都是打开的 出于性能原因 我
  • 从 Web 容器外部访问数据源(通过 JNDI)

    我正在尝试从容器外部的胖客户端访问 Web 容器 JBoss 中定义的数据源 我决定通过JNDI查找数据源 实际上 我的持久性框架 Ibatis 就是这样做的 执行查询时我总是会收到此错误 java lang IllegalAccessEx
  • 在 JUnit 中使用 Spring 测试服务时如何回滚数据库事务?

    我测试我的 DAO 和服务没有问题 但是当我测试时INSERTs or UPDATE我想回滚事务而不影响我的数据库 我在用着 Transactional在我的服务中管理交易 我想知道 是否有可能知道事务是否正常 但回滚它以防止更改数据库 这
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess

随机推荐

  • 操作符new和delete重载作用域

    我偶然发现了一些关于运算符 new 和 delete 的链接和重载的问题 new delete操作符的全局重载多久生效 每个翻译单元 每个链接的应用程序至少有一个目标文件重载这些运算符 那么动态联动呢 这些运算符可以有多个定义吗 如果拿哪一
  • Django Tastypie,多对多保存错误

    当我通过 tastypie api 保存项目时遇到问题 POST方法 这是我的 api py 代码 from tastypie resources import ModelResource ALL ALL WITH RELATIONS fr
  • 调试访问冲突错误?

    在使用 Delphi 编写应用程序时 您可以分享哪些技巧来帮助查找和修复访问冲突 我相信访问冲突通常是由于尝试访问内存中尚未创建的某些内容 例如对象等 引起的 我发现很难确定是什么触发了访问违规 然后在哪里进行所需的更改以尝试停止 修复它们
  • Lambda表达式可以降级到C++ 98吗

    我最近遇到一个问题 需要将用 lambda 表达式编写的 C 11 代码集成到仅支持 C 98 编译器的旧代码库 我发现了 lambda 的几个可能的等价物 例如宏 函子或函数指针 但在用 capture 翻译 lambda 时 它们似乎都
  • 使用 for 循环以 X 模式打印字符

    我正在尝试打印这个大 X 图案 x x x x x x x x x x x x x x x x x 我无法弄清楚实现它的算法 我刚刚开始 C 编程并陷入困境 到目前为止我所拥有的是 include
  • 打印拼写出来的数字 (int) 值

    有没有一种开箱即用的方法可以在 C 中拼写出 int 例如 如果我有 int a 53 我想打印 fifty three not 53 如果没有 有人有任何关于如何实现这一目标的例子吗 Thanks 您必须自己编写该代码 如果不得不猜测 我
  • R 中用于面板回归的数据转换

    我真的需要你的帮助来解决一个对你来说似乎很容易解决的问题 目前我正在从事一个涉及一些面板回归的项目 我有几个大型 csv 文件 每张最多 1200 万个条目 其格式如所附图片所示 而列 V1 V2 是个体 行 1 2 3 是时间标识符 为了
  • 将迭代转化为递归

    我想检查一下是否string用户输入的余额为 and s ex 不平衡 是平衡的 def check string counter 0 string string replace if string 0 is for x in string
  • 在 Vue 中,如何将日期对象绑定到日期输入? (v模型不起作用)

    This doesn t work
  • 使用基于转换器/CPS 的功能引用将 [a,b].reduce(f,x) 代码转换为 [a,b].reduce(f)?

    在我之前的问题中 从没有数组的函数链中提取数据 Aadit M Shah 给了我惊人的解决方案 如下 https stackoverflow com a 51420884 6440264 给出一个像这样的表达式A a b f where f
  • 无法在 python 应用程序的 app.yaml 中设置缓存过期

    在我的 GAE 应用程序中 我提供如下静态内容 这些是我的 app yaml 文件中的条目 handlers url css static dir static css expiration 10m url js static dir st
  • Django:表不存在

    我删除了一些与应用程序相关的表 并再次尝试了syncdb命令 python manage py syncdb 它显示错误 例如 django db utils ProgrammingError 1146 Table someapp feed
  • 计算机如何分配两个变量以及如何计算两个变量之间的距离?

    当我尝试检查两个变量之间的差异时 我发现了一些有趣的东西 您可以在下面的代码中看到 include
  • 如何在Android中使用DialogFragment进行文本输入?

    我正在尝试使用推荐的方法获取用户输入到对话框中的值DialogFragment类 对话框构造并运行良好 但我无法返回EditText参数传递给父类 无需获取NullPointerException My DialogHost类 它构造 返回
  • 自动过滤多个不相等的值

    我正在为 Excel 表添加自动过滤器 如下所示 With Sheets Sheet1 With ListObjects Summary Range AutoFilter Field 1 Criteria1 gt 400000 Operat
  • 在 ASP.NET 中执行命令行实用程序

    我需要一些有关从 C ASP NET Web 应用程序使用命令行实用程序的建议 我找到了一个用于将文件转换为 CSV 格式的第 3 方实用程序 该实用程序运行良好 可以从命令行使用 我一直在网上寻找有关如何执行命令行实用程序的示例 并发现t
  • 在spring roo中添加自定义页面

    我有一个关于 spring roo 的问题 如何将自定义页面添加到您的 Web 应用程序 如果我使用标准 Servlet 这似乎非常基本且简单 但我完全困惑在 Spring roo 中执行此操作 我想要的只是主页 带有菜单等 中有一个链接到
  • 简单的互操作测试;通过简单的调用使堆栈不平衡

    我目前正在研究与互操作相关的问题 并编写了一个小型测试程序 以帮助我弄清楚发生了什么 有问题的问题涉及对更复杂的本机函数的调用 很难在此处发布 无论如何 我有一个非常简单的本机 dll 其中仅包含以下代码 extern C declspec
  • 无法通过 Ubuntu 终端在 Github 上推送

    我正在尝试从我的 Ubuntu 机器推送到 github 我可以从 Visual Studio Code 终端推送 但无法从 Ubuntu 终端或 Android Studio 终端推送 每次我尝试从终端或 android studio 终
  • 如何终止 jboss 超时的数据库事务

    我用的是jboss 4 2 3 它具有设置 TransactionTimeout 在jboss service xml中 指定允许事务执行多长时间 不幸的是 当超时过去时 执行不会立即中止 如果事务正在执行某些操作 则只会将其标记为稍后回滚