JIRA Plugin 运行 单行代码多次
JIRA Plugin running single line of code multiple times
我有一个 JIRA 侦听器插件,可以捕获问题事件,检查它是否是 "created issue" 事件,并执行操作。虽然出于某种原因,特定的代码行在停止之前似乎 运行 多次(我知道这一点,因为特定的日志消息被显示了多次,而这些消息应该只被看到一次)。这是我要说的重点:
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 服务器并将此对象放入 table)以某种方式阻止这行代码正确执行,直到查询 [=25] =] 完成。注意:None 我发布的代码打开了一个单独的线程来执行此操作,这是所有 运行 的顺序(除非 PreparedStatement.execute/executeQuery 打开一个新线程)。
看来我对重复代码 运行ning 的初始断言是错误的。当特定条件为假时,我没有看到代码可能 运行 多次。由于最初的问题是错误的,因此关闭此问题。
我有一个 JIRA 侦听器插件,可以捕获问题事件,检查它是否是 "created issue" 事件,并执行操作。虽然出于某种原因,特定的代码行在停止之前似乎 运行 多次(我知道这一点,因为特定的日志消息被显示了多次,而这些消息应该只被看到一次)。这是我要说的重点:
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 服务器并将此对象放入 table)以某种方式阻止这行代码正确执行,直到查询 [=25] =] 完成。注意:None 我发布的代码打开了一个单独的线程来执行此操作,这是所有 运行 的顺序(除非 PreparedStatement.execute/executeQuery 打开一个新线程)。
看来我对重复代码 运行ning 的初始断言是错误的。当特定条件为假时,我没有看到代码可能 运行 多次。由于最初的问题是错误的,因此关闭此问题。