문제

응용 프로그램에 사용하는 다른 플러그인에서 정확히 동일하게 이름을 지정하는 클래스가 있으며 최대 절전 모드로 제대로 구성 할 수 있습니다. 문제는 수업이 매핑을 할 때 클래스를 찾으려고 할 때 최대 절전 모드가 동적으로 클래스 패키지 이름을 생성하는 것처럼 보입니다. 하나의 플러그인을 사용하면이 체계가 작동하지만 여러 플러그인에서는 작동하지 않습니다. 여러 플러그인에서 최대 절전 모드 구성 파일을 처리 할 때 최대 절전 모드가 혼란스러워 보입니다.

각 플러그인에 자체 클래스 로더가 있기 때문입니까? 기존 플러그인 및 최대 절전 모드 로이 작업을 진행하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

문제는 모든 플러그인에 자체 클래스 로더가 있고 최대 절전 모드는 반사를 사용하여 올바른 클래스를 찾는 것입니다.

나는이 문제에 대한 집에 아주 좋은 기사를 가지고 있지만 이것은 독일어로되어 있습니다. 나는 당신이해야 할 일을 설명하려고 노력할 것입니다.

여러 플러그인을 통해 데이터 인프라를 공유하려면 플러그인에 넣고 호출되는 기능을 활성화해야합니다. 버디 정책. 스타트 업에서 최대 절전 모드를 시작하는 주 적용품 플러그 인이 있다고 가정 해 봅시다.이 플러그인은 Datafrstructure-Plugin의 클래스를 "확인"해야합니다. 이것을하기 위해 메인 플루그인은 버디 정책을 "등록"하고 데이터 부문-플러그 인은 "버디"로 등록합니다.. 불행히도, 당신은 매니페스트 파일에서 직접이 모든 것을해야합니다. 적어도 3.3에는 편집기에서 이것을 할 방법이 없었습니다.

이 친구 정책이 작동하면 최대 절전 모드도 할 것입니다.

나는 나의 오래된 응용 프로그램을 찾았고 여기에 내가 한 방법이 있습니다.

  1. 주 적용물 (Toolseye.rcp)은 Hibernate 플러그인 (de.eye4eye.hibernate) 및 Datafrstructure-Plugin (Toolseye.datrastructures)에 따라 다릅니다.
  2. 최대 절전 모드-플러그 인은 버디 정책을 "등록"으로 지정합니다.
  3. Datafrsucture-Plugin은 자리 단위로 등록합니다

중요한 줄은 다음과 같습니다.

Hibernate-Plugin de.eye4eye.hibernate

Eclipse-BuddyPolicy: registered

Datafrsucture-Plugin Toolseye.Dattructures

Eclipse-RegisterBuddy: de.eye4eye.hibernate

그 줄을 매니페스트에 직접 넣으십시오

두 플러그인 모두 기본 응용 프로그램이나 그 사이에있는 레이어가 사용할 수 있도록 패키지를 다시 exepter습니다. 도움이되기를 바랍니다.

다른 팁

이것을 완료하기 위해.

Eclipselink는 Hibernate를 사용하는 대신 Eclipse RCP 응용 프로그램에서 JPA 제공자로 사용될 수 있습니다. Eclipselink는 Oracle의 이전 Toplink이며 JPA 2의 참조 구현으로 선택되었습니다.

RCP의 요점은 EclipSelink가 OSGI- 매달린 (org.eclipse.persistence.jpa)로 제공되며 추가 Buddy-Policy없이 다른 플러그인의 클래스를로드 할 수 있다는 것입니다.

현재 나는 다음 프로젝트 구조 (모델-뷰-프리 센터 패턴)를 사용하여 놀고있었습니다. 괄호 안의 이름은 종속 플러그인을 지정합니다 (모두 포함 된 것은 아닙니다.이 질문과 관련된 것만)

  • rcp.mvp.view (rcp.mvp.presenter / rcp.mvp.model)
  • RCP.MVP.PRESENTER (rcp.mvp.data- 데이터는 모델을 재 export이므로 여기에는 필요하지 않습니다) *
  • rcp.mvp.data (rcp.mvp.data.mysql / rcp.mvp.model / javax.persistence / org.eclipse.persistence.jpa)
  • rcp.mvp.data.mysql -MySQL-JDBC-Driver 만 제공합니다. 클래스 경로 안에 있어야합니다
  • rcp.mvp. 모들

이 시나리오에서 데이터 플러그 인의 JPA 제공 업체는 버디 정책없이 모델 플러그 인에서 클래스를로드 할 수 있습니다.

*발표자는 DAOS에 의해 캡슐화되므로 JPA 패키지에 의존하지 않습니다 (여전히 사용해야하는 주된 이유).

연결

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