2013-07-01 8 views
2

BDB JE는 응용 프로그램의 프로세스에서 실행되므로 BDB를 실행하고 끊임없이 변화하는 응용 프로그램 논리 및 종속성을 다시로드 할 수있는 시스템을 구축하는 가장 좋은 방법을 찾고 싶습니다.응용 프로그램 .jar을 다시로드하는 동안 BDB JE를 메모리에 유지하십시오.

이상하게도 BDB를 별도의 프로세스에서 실행하지만 대역폭을 유지하기 위해 IPC를 수행하기 위해 공유 메모리를 사용해야합니다.

또 다른 생각은 OSGi를 사용하여 응용 프로그램 번들을 새로 고치는 것입니다.

누구든지이 작업을 위해 영리한 기술을 보유하고 있습니다. BDB JE의 임베디드 자연에 감사 드리지만, 나는 케이크를 가지고 그것을 먹고 싶습니다.

+0

OSGI 접근 방식이 내게 더 매력적으로 들리지만 내장되지 않은 방식으로 내장 데이터베이스를 사용한다는 생각에 불편 함을 느낍니다. – biziclop

답변

1

별도의 번들로 Berkeley db를 실행하고 μservices를 통해 다른 번들에 연결하려고 했습니까? μservices가 동적으로 바운드되기 때문에 BDB 번들을 계속 실행하면서 애플리케이션 로직을 변경해야합니다.

bnd (tools)에는 mongo db와 비슷한 상황이 있습니다. 번들에 대한 수백 가지의 업데이트를 만들지 만 때때로 프레임 워크가 다시 시작되지 않는 설치가 있습니다 (코드를 저장할 때마다 bndtools에서 자동으로 실행중인 프레임 워크에 배포 됨). db 구현은 거의 업데이트 할 필요가 없으므로 db는 계속 실행됩니다.