심 2.2, 제이 보스 6.1, 3.5.6 최대 절전 모드 및은 mSQL 서버 2008최대 절전 모드 잠금 테이블
과 같은 기능을 가지고있다.
public void deliverFile() {
EntityManager jobbEntityManager = (EntityManager)Component.getInstance("jobbEntityManager");
JobbStatusInterface jobbStatus = new JobbStatus();
jobbStatus.setStatus(PluginStatus.INITIATED);
jobbEntityManager.persist(jobbStatus);
/**
Code here to save a file that takes a minutes
**/
jobbStatus.setStatus(PluginStatus.DONE);
jobbEntityManager.flush();
}
public void checkJobb(){
EntityManager jobbEntityManager = (EntityManager)Component.getInstance("jobbEntityManager");
jobbEntityManager.createQuery("from JobbStatus", JobbStatus.class).getResultList();
}
난 checkJobb에 deliveryFile() 함수가 실행되고, 그래서 만약 10 초마다 폴링있다.
checkJobb는 upp를 uup 대기하고 쿼리에서 중지하므로 deliveryFile() 함수가 완료되면 6 개의 checkJobbs()가 모두 동시에 완료됩니다.
데이터베이스에서 직접 선택하더라도 잠김되어 deliveryFile()이 완료되면 쿼리가 완료됩니다.
deliveryFile이 실행되는 동안 checkJobb()를 수행 할 수 있도록 이것을 해결할 수 있습니까?
deliverFile() 함수가 실행되는 동안 데이터베이스를 선택할 수 있기를 원하지만 모든 쿼리를 수행 할 수 없도록 데이터베이스를 잠그고 있습니다. deliver 파일이 끝날 때까지 일시 중단됩니다. – Trind