【问题标题】:JIRA Plugin running single line of code multiple timesJIRA插件多次运行单行代码
【发布时间】:2017-02-17 16:41:38
【问题描述】:

我有一个 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 sql plugins jira dao


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多