JBPM 테이블이 별도의 데이터베이스에 있어야합니까?

StackOverflow https://stackoverflow.com/questions/1328817

  •  19-09-2019
  •  | 
  •  

문제

JBPM 세션을 설정할 때 두 가지 옵션이 있습니다.

  1. JBPM 매핑을 동일한 최대 절전 모드 세션에 넣을 수 있으며 결과적으로 응용 프로그램 테이블과 함께 데이터베이스에 테이블이 있습니다.

  2. JBPM 매핑을 별도의 최대 절전 모드 세션에 넣고 별도의 데이터베이스에 넣을 수 있습니다.

방법 1을 권장하는 하나의 기사를 보았으며 JBPM 데이터 객체에 대한 외국 키 참조를 직접 사용할 수 있기 때문에 이유를 알 수 있습니다. 팝업을 본 유일한 문제는 JBPM 프로세스가 실행중인 동안 JBPM 객체를 시도하고 저장하면 데이터베이스에서 교착 상태를 얻는 것입니다.

그 외에는 어떤 방법이 더 좋을까요?

도움이 되었습니까?

해결책

건축하려는 아키텍처에 따라 다릅니다.

여러 다른 응용 프로그램과 통신하는 중앙 관리 워크 플로 구성 요소 하나를 원한다면 단일 데이터베이스가 진행됩니다.

OTOH, 워크 플로가 일부 응용 프로그램에만 국내 인 경우 데이터베이스를 분리하는 것이 좋습니다. 이렇게하면 일부 응용 프로그램에서 JBPM을 업그레이드하여 다른 응용 프로그램과 마찬가지로 남겨 둘 수 있습니다.

그러나 많은 경우에도 모든 앱마다 별도의 DB를 갖기로 결정할 수도 있습니다. 이런 식으로, 관리 할 거대한 테이블이 없기 때문에 런타임 성능은 잘 유지됩니다)

보시다시피, JBPM은 아키텍처에 포함시키는 방법에 매우 유연합니다. 따라서 건축의 현재와 미래 진화를 고려하여 최선의 접근 방식을 결정하고 최선의 접근 방식을 결정해야합니다.

다른 팁

응용 프로그램과 JBPM 테이블을 모두 1 데이터베이스에 넣으면 JBPM 테이블과 응용 프로그램 데이터를 모두 단일 트랜잭션으로 업데이트 할 수 있습니다. 예를 들어 JBPM에서 작업이 수행 될 때 응용 프로그램 데이터에 대한 일부 속성을 업데이트하려는 경우 유용합니다. 이를 통해 데이터가 손상되지 않도록합니다. 그렇지 않으면 JBPM 거래를 저지른 다음 응용 프로그램 데이터 트랜잭션을 커밋하는 문제가 발생하면 상당히 큰 문제가 있습니다 ...

우리는 버전을 업그레이드하거나 다른 클라이언트가 필요할 때 다른 공급 업체를 사용할 수 있도록 JBPM 데이터베이스를 별도로 유지하기로 결정한 사례가있었습니다. 위에서 언급했듯이, 우리는 응용 프로그램 수준에서 단일 작업을 위해 별도의 최대 절전 모드 세션을 처리 해야하는 상황에 도달했습니다. 이러한 조건에서 일관성을 유지하기 위해 우리는 아토미코스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top