2011-08-26 3 views
0

PAX가 많은 일을하고 있고 컨테이너를 만들고 모든 병을 복사하는 것이 저렴하지는 않지만 성능을 향상시키는 데 필요한 일반적인 팁이 있다는 것을 알고 있습니다. 내부에는 몇 초 안에 컨테이너 외부에서 실행되는 테스트가 있으며, 내부에서는 훨씬 오래 걸립니다. PAX를 사용하여 주로 내 매니페스트가 정확하고 번들이 누락 된 종속성없이 배포 될 수 있는지 확인합니다. 나는 Knopflerfish, Equinox, Felix를 시도해 보았습니다. 일반적으로 용기가없는 베어 본 (barebones)에 비해 상대적으로 느린 차이는 거의 없습니다.PAX (OSGI testing) 프레임 워크를 더 빠르게 만드는 데 유용한 팁

답변

1

당신이 깨달은 것처럼 기본 컨테이너는 큰 차이를 만들지 않습니다.

즉석에서 최소한의 번들을 만들고 싶다면 Pax Tinybundles을 시도해 볼 수 있습니다.이 설정이 사용자의 경우에 해당하면 테스트를 위해 실제로 필요한 콘텐츠만으로 최소화 된 번들 세트를 만들 수 있습니다. 예를 들어, 매니페스트를 패키지로 만들 수 있습니다. 나는이 특별한 목적을 위해 나 자신을 벤치마킹하지 않았지만, 그럴 가치가있다.

사이드 노트로 Pax 시험 2.3에서는 @Before 및 @After에 대한 지원 (here 참조)이 도입되어 더욱 유연한로드 설정/해제가 가능해졌습니다.

1

네이티브 컨테이너를 사용하는 것이 Pax 러너 컨테이너보다 빠르기 때문에 외부 프로세스를 시작하는 오버 헤드가 줄어 듭니다.

EagerSingleStagedReactorFactory를 사용하면 각 테스트에 대한 프레임 워크를 다시 시작하는 오버 헤드를 절약 할 수 있습니다.

JAR을 복사하지 않으려면 mvn : URLs 또는 mavenBundle()을 일반 URL보다 선호하면 다운로드 한 로컬 Maven 저장소에서 번들을 가져옵니다.

Pax Exam 2.3.0의 새로운 기능은 복사하지 않고 번들을 제자리에 프로비저닝 할 수 있도록하는 참조입니다.이 기능은 분해 된 번들 (즉, 압축이 풀린 디렉토리 구조)에도 적용됩니다.

관련 문제