2011-04-08 5 views
1

복잡한 응용 프로그램이 있습니다. 나는 모든 라이브러리에 대해 Flex 4.1 RSL과 사용자 정의 RSL을 사용한다. (사용자 정의 SWC가 15 개있다. - Flex 라이브러리 프로젝트)Howto : 자식 ApplicationDomain에만로드되는 고유 한 사용자 지정 RSL이있는 Flex 모듈?

최소한의 RSL로 메인 애플리케이션을로드하고 다른 모든 RSL로 Flex 모듈을로드하고 싶다. 백그라운드에서 앱 사용자는 앱의 첫 번째 부분과 상호 작용합니다.

메인 앱에는 3 개의 SWC가 필요하며 모듈에는 나머지 SWC가 필요합니다 (12).

내가 한 플래시 빌더 Apllication의 내가 모든 RSL의 (RSL의로) 연결 한 Application.mxml와 프로젝트 Module.mxml

이있는 경우 어떻게 RSL의이 자식 응용 프로그램에 모듈로로드 그래서 나는이 문제를 해결합니까 도메인?

info = ModuleManager.getModule(URL); 
info.load(new ApplicationDomain(ApplicationDomain.currentDomain)); 

을 ... 그래서 새로운 응용 프로그램 도메인에로드해야 하지만 RSL에 이미 부모 도메인에 미리로드 :

현재 내가 사용하고 있습니다!.

내 모듈에서 정적 필드/싱글 톤을 사용하고 있으므로 더 이상로드 할 수 없습니다.

모듈을 RSL과 함께 하위 응용 프로그램 도메인에로드 할 수있는 경우 클래스 정의가 분리되어 각 정적 필드가있는 두 개의 모듈을 사용할 수 있습니다.

답변

1

솔루션 플렉스 4.5와 함께 -

사용하여 자리 표시 자 RSL에

당신이 플렉스와 응용 프로그램을 컴파일 RSL를 소개, 기본 동작은 에 대한 응용 프로그램을 컴파일 이다 프레임 워크 (또는 기본) RSL. 응용 프로그램이 실행되면 프레임 워크 RSL (실제로는 )이로드되고 프레임 워크 RSL의 나머지 부분에 대한 자리 표시자가 생성됩니다. 애플리케이션 모듈 또는 중 하나가 프레임 워크의 RSL 해당하는 자리 가 필요 서브 프로그램 모듈 또는 서브 프로그램을로드 할 때 다음 메인 프로그램에 해당 RSL 로드.

Adobe Flex 4.5 - Introduction to RSLs @ help.adobe.com

+0

문제의 해결책은 다음과 같이 수락하십시오. 정답. –

1

OSGI에서 영감을 얻은 Potomac 모듈 방식 프레임 워크를 사용해 보시지 않겠습니까? 그것은 당신이 자산의 로딩을 훨씬 더 정확하게 제어 할 수있게합니다. 리팩토링이 필요할 수도 있지만, 애플리케이션에 컴파일 된 애셋이 15 개 있다는 사실은 이미 모듈러 라인을 따라 생각하고 있음을 나타냅니다.

편집 :

나는 포토 맥 응용 프로그램 도메인에 "번들"모든로드 것을 지적해야하지만 필요에 따라 자산을로드의 문제를 해결할 않습니다. 문제의 어느 부분이 가장 중요한 문제인지 잘 모르겠습니다. 당신은 또한 sub-applications을 들여다 보았을 수도 있고 요구 사항에 맞을 수도 있고 그렇지 않을 수도 있습니다.

+0

덕분에 유용 보이는 참조하십시오. 그러나 이제는 Flex의 과중한로드를 제거해야하므로이 프로젝트에서 사용하지 않을 것입니다. Flex 4.5가 출시되면서 사용하지 않은 RSL을 제거하고 해당 모듈을 하위 도메인에로드하는 방법은 [모듈 및 하위 응용 프로그램과 함께 RSL 사용] (http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf674ba-7fff.html#)을 참조하십시오. WS19f279b149e7481c-152c7c012d9aabe32a-7fff) 및 [프로젝트 빌드 사용자 정의] (http://help.adobe.com/en_US/flashbuilder/using/WSe4e4b720da9dedb524b8220812e5611f28f-7fe1.html) –

관련 문제