- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里我有一段由 EJB 计时器触发的代码,在 JBoss EAP 6.2 上部署的 EAR 内运行。
由于 onTimeout(Timer timer)
方法中的处理时间可能比standalone.xml 中指定的默认事务超时时间长得多,因此我想出了这个解决方案:
//[...]
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import org.jboss.ejb3.annotation.TransactionTimeout;
//[...]
@Startup
@Singleton
public class DataqReaderServiceImpl extends AbstractDataqReaderService {
@Resource
private TimerService timerService;
@Override
@Timeout
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
@TransactionTimeout(unit = TimeUnit.MINUTES, value = 60)
protected void onTimeout(Timer timer) {
try {
super.readDataq(timer);
} catch (Exception e) {
timer.cancel();
}
}
}
//[...]
但显然 @TransactionTimeout
注释被忽略。代码运行 5 分钟后,Transaction Reaper 开始运行:
2016-12-19 15:12:21,878 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a07065b:296fc7c:5857e084:67ef in state RUN
2016-12-19 15:12:21,881 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff0a07065b:296fc7c:5857e084:67ef invoked while multiple threads active within it.
2016-12-19 15:12:21,881 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff0a07065b:296fc7c:5857e084:67ef aborting with 1 threads active!
2016-12-19 15:12:21,882 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0a07065b:296fc7c:5857e084:67ef
我的错误在哪里?
最佳答案
经过更多尝试后,我发现这似乎是 RedHat JBoss EAP 6.2 中的一个错误。
以下是 EAP 6.2.0 上事务开始位置的跟踪日志:
2016-12-20 07:21:29,754 TRACE [com.arjuna.ats.arjuna] (EJB default - 10) TransactionReaper::insert ( BasicAction: 0:ffff0a07065b:-60e989f1:5858dbac:45 status: ActionStatus.RUNNING, 300 )
2016-12-20 07:21:29,754 TRACE [com.arjuna.ats.arjuna] (EJB default - 10) ReaperElement::ReaperElement ( BasicAction: 0:ffff0a07065b:-60e989f1:5858dbac:45 status: ActionStatus.RUNNING, 300 )
为 TransactionReaper::insert 记录的第二个参数是超时值。
现在这是同一事件的跟踪日志,但在 EAP 6.4.8 上(我验证了 6.2.0 和 6.4.8 实例中的默认超时设置为 300 秒):
09:12:52,913 TRACE [com.arjuna.ats.arjuna] (EJB default - 8) TransactionReaper::insert ( BasicAction: 0:ffff0a076537:-1ab57a18:5858f5d6:31 status: ActionStatus.RUNNING, 3600 )
09:12:52,913 TRACE [com.arjuna.ats.arjuna] (EJB default - 8) ReaperElement::ReaperElement ( BasicAction: 0:ffff0a076537:-1ab57a18:5858f5d6:31 status: ActionStatus.RUNNING, 3600 )
因此,在 EAP 6.4.8 上,事务以正确的超时值启动。
关于java - JBoss EAP : @TransactionTimeout not affecting @Timeout Method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41226539/
我知道 eap tls 是传输层安全功能。但即使在谷歌搜索之后,仍然存在一些不清晰的地方。 eap tls 是通用 eap 协议(protocol)定义的特殊实现吗?或者 eap tls 是 eap
我想在 Jboss EAP 7 上升级到 JSF 2.3。 我遵循了本指南: https://docs.jboss.org/author/display/WFLY10/JSF+Configuratio
我的项目在 JBOSS EAP 6 上运行。这个 XX.war 部署在 Jboss EAP6 中,但现在我们正在升级到 EAP7。当我在 Jboss EAP7 本地部署 war 文件时,出现此错误。
在 Ansible 提供 JBoss EAP 之后,我在配置 JBoss EAP 时遇到了麻烦。 添加数据源 gradle 任务因 java.lang.IllegalArgumentException
我有一个包含 JPA 2.1 API 和 Hibernate 4.3.0.Final(JPA 2.1 实现)的 war 应用程序,使用 Spring 容器打包和引导,我想在 JBoss EAP 6.1
前言 在C# 5.0中,新增了async await 2个关键字支持异步编程的操作。在讲述这两个关键字之前,我先总结一下.NET中的常见的异步编程模型。 异步编程一直是比较复
我试图用以下代码将 EAP 包装在任务中。 public static async Task Caller() { var ret = await RunProgram();
我已将 jenkins 配置为将从作业生成的 jar 文件复制到运行 jboss 的远程主机 (GNU LINUX) 上的目标文件夹。目前我每次都必须手动重新启动 jboss 才能反射(reflect
我正在尝试以编程方式在 Android 上创建企业 WiFi 配置文件(WPA-Enterprise、WPA2-Enterprise)。 我见过一个比较有名的方案,就是用反射来实现。据我了解,如果必须
从.NET 4.5开始,支持的三种异步编程模式: •基于事件的异步编程设计模式 (EAP,Event-based Asynchronous Pattern) •异步编程模型(
我这里有个情况: 我有一个 .eap 文件,并且我有一个可用的工具,即 StarUML。我需要将 .eap 文件内容导入 StarUML。 基本上,我需要知道如何将 .eap 转换为某种格式以导入 S
当我运行以下 Dockerfile 时,容器响应错误并退出。 如果我注释掉 COPY,容器将正常启动。 我是否需要配置其他内容才能让容器启动并部署应用程序? docker 文件: FROM regis
我正在使用 Jboss EAP 6.4 域架构。我的计划是将所有资源属性文件捆绑为外部模块,并定义一个部署结构以将它们添加到类路径中。这工作得很好,但是服务器没有检测到运行时所做的更改,需要重新启动
我在同一台机器上运行域 Controller 、一个主机 Controller 和一台服务器。 我正在使用 IDEA 连接到远程服务器进行调试,但它并没有在断点处停止,即使它正在运行代码(我已经通过系
我正在尝试决定是在我们的 JBoss EAP 6 环境中使用独立模式还是域模式。我们在一台机器上运行多个 JBoss 环境。 有什么好处和坏处?对我来说,域模型可能是管理环境的一种优雅方式,但是修改一
我在我的 WPF 应用程序中使用 CefSharp 3 来使用基于 Chromium 的 webBrowser 控件。为了调用 html 中的某些脚本,使用了 ExecutScriptAsync 方法
我的场景: 我有 2 个不同的 keystore (A.jks 和 B.jks),用于与两个不同服务器的 SSL 连接。这些 keystore 在进行“冒烟测试”时从命令行运行。 使用EAP服务器,如
我在一个特定的 linux 机器上有多个 jboss 实例。我不想 grep jboss 实例的进程 ID 和监听端口。server.log 或 CLI 命令是否有解决方法? 最佳答案 除了 Pana
在过去的几天里,我在从 Eclipse 发布到 JBoss EAP 6.3 或 Wildfly 8.2 时遇到了这个错误。 Error renaming D:\Servers\wildfly-8.2.
Jboss EAP 6 的默认管理控制台密码是什么? 它不允许我在没有密码的情况下查看管理控制台。而且我也找不到配置页面。 请指教。 最佳答案 转到 JBOSS_HOME\bin,运行 add-use
我是一名优秀的程序员,十分优秀!