2011-08-10 4 views
1

Java 데스크톱 애플리케이션은 사용자가 편집 한 여러 텍스트 파일을 관리합니다.응용 프로그램 데이터 지속성 프레임 워크/라이브러리?

현재 이러한 파일은 사내 Java 코드를 사용하여 파일 시스템에 저장됩니다. 우리는 이것에서 벗어나 기존의 프레임 워크/라이브러리 (대신에 오픈 소스)를 사용하고 싶습니다. 런타임시 실제 영구 저장소 ("file-system"대 "db")를 구성 할 수있는 가능성이 있습니다.

JCR 구현 (예 : JackRabbit) 외에도 가능한 다른 해결책이 있습니까? 우리의 유즈 케이스에 JCR을 사용하는 것에 대한 피드백이나 조언이 있습니까?

Thx. JCR 저장소의 장점

답변

1

하나는 데이터가 유지되는 방식에서 어플리케이션을 추상화이다, 그러나 아직도 등 계층 적 조직, 쿼리, 검색, 이벤트,

ModeShape이 제공하는 JCR 구현이 제공 데이터 저장 방법에 대한 많은 유연성 그 connectors의 파일 시스템 (twochoices)에 콘텐츠를 액세스 및/또는 저장을 허용 A의 relational database (대부분의 DBMS가 지원)하는 data grid (예를 들어, Infinispan) (federation 통해) 조합 SVN에서, 또는 심지어 in-memory (작고 덜 중요한 용도). ModeShape는 fluent programmatic API을 사용하여 구성 할 수 있지만 엔진을 시작하면 실제로 커넥터를 변경할 수 없습니다.

(전체 공개 : 나는 프로젝트 리드입니다.) ModeShape 및 액세스에 JCR API를 사용할 수있는 파일 시스템 커넥터 응용 프로그램과 함께, 파일 시스템에 파일을 저장하는 사용 사례에 대한 그래서

(그리고 조작하는) 파일과 폴더의 기존 구조, 모든 응용 프로그램이 파일 시스템을 통해 동일한 파일과 폴더에 계속 액세스 할 수있게합니다. 이 커넥터를 사용하면 응용 프로그램이 파일 및 폴더 노드에서 store extra properties을 선택적으로 사용할 수 있지만 파일 및 폴더 노드 만 만드는 것으로 제한됩니다.

사용 사례에 대한 또 다른 옵션은 ModeShape의 디스크 커넥터를 사용하는 것입니다.이 커넥터를 사용하면 파일, 폴더 및 기타 콘텐츠를 만들고 디스크에 정보를 저장할 수 있습니다. 이 커넥터는 파일 시스템 커넥터보다 훨씬 뛰어납니다. 왜냐하면 모든 컨텐트를 저장할 수 있기 때문입니다 (매우 빠름). 또한 저장소 내용을 파일 시스템의 파일로 유지하지만 저장소 구조와 다른 구조를 사용합니다. IOW, 디스크 커넥터는 실제로 다른 응용 프로그램이 파일 시스템을 사용하여 저장소에 저장 한 파일에 액세스 할 수 있도록 설계되지 않았습니다. 후자가 중요하지 않고 파일 시스템에 컨텐츠를 관리하고 저장하는 방법을 찾고 있다면 디스크 커넥터가 탁월한 선택입니다.

관련 문제