문제점 이벤트를 캡처하고 "작성된 문제점"이벤트인지 확인한 후 조치를 수행하는 JIRA 리스너 플러그인이 있습니다. 어떤 이유로 특정 코드 행이 중지되기 전에 여러 번 실행되는 것으로 보입니다 (특정 로깅 메시지가 여러 번 표시되므로 한 번만 표시되어야 함). 여기에 내가 무슨 말의 JIST은 다음과 같습니다한 줄의 코드를 여러 번 실행하는 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...
}
내 생각 엔 그거 SQL 서버에 액세스하고로이 객체를두고 DAO (테이블)은 쿼리 실행이 완료 될 때까지이 코드 행을 올바르게 실행하지 못하게합니다. 참고 : 내가 게시 한 코드 중 아무 것도이를 수행하기 위해 별도의 스레드를 열지 않습니다. PreparedStatement.execute/executeQuery가 새 스레드를 열지 않는 한 순서대로 실행됩니다.