java - JIRA 插件多次运行单行代码

标签 java sql plugins jira dao

我有一个 JIRA 监听器插件,可以捕获问题事件,检查它是否是“创建的问题”事件,并执行操作。尽管由于某种原因,特定的代码行在停止之前似乎运行了多次(我知道这一点,因为特定的日志消息会显示多次,而应该只看到一次)。以下是我所讨论的要点:

onCreatedEvent(IssueEvent event) {
     Issue issue = event.getIssue();
     if (event.getEventTypeId().equals(EventType.ISSUE_CREATED_ID) {
         // Build needed object (custom class) -> this is the line running multiple times
         BetterIssue betterIssue = BetterIssueFactory.setIssue(issue).build();
         BetterIssueDAO.createBetterIssue(betterIssue);
         // More code below...
     }
}

BetterIssueFactory 的想法:

public abstract BetterIssueFactory() {
    private static Issue issue;
    public static void build() {
         // Grabs data from JIRA issue using ComponentAccessor...
    }
    public void setIssue(Issue issue) {
        this.issue = issue;
    }
    // More code...
}

我的猜测是,DAO(访问 SQL 服务器并将该对象放入表中)以某种方式阻止这行代码正确执行,直到查询运行完成。注意:我发布的代码都没有打开一个单独的线程来执行此操作,这都是按顺序运行的(除非PreparedStatement.execute/executeQuery 打开一个新线程)。

最佳答案

看起来我的重复代码运行的初始谓词是错误的。我没有看到当特定条件为假时代码可以在哪里多次运行。由于最初的问题是错误的,因此关闭此问题。

关于java - JIRA 插件多次运行单行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303121/

相关文章:

java - JButton 的对齐问题

java - 为什么 resolve dependencies 'classpath' 这么慢?

php - 需要一个mysql查询来解决 "group by"和 "order by"不返回最新消息

cordova - 如何使用 ionic/ionic 2/ionic 3/ionic 4/ionic 5 添加本地 cordova 插件?

macos - 沙盒自定义 qlgenerator(快速查看)插件

visual-studio-2010 - 适用于 Visual Studio 2010 的 Rockscroll 或 Metalscroll(小 map )

Java泛型和基类

java - 在iava中调用方法时缺少json键时如何抛出编译错误

mysql - SQL - 分组依据 - 具有 - 缺失行

mysql - 检索数据