2009년 6월 9일 화요일

PureMVC MultiCore에서 AppSkeleton 문제 해결

PureMVC AS3 Standard에 보면 App Skeleton 예제가 있다. 이 예제는 MultiCore로 바꾸면 문제가 된다. 원인은 이렇다.

 

총 3개의 Proxy들이 등록되는데 두 개의 Proxy는 나머지 한 개의 Proxy를 retrieveProxy로 얻으려고 한다. 이때 생성자에서 facade를 사용하는데 Standard는 ApplicationFacade가 Singleton이기 때문에 문제가 없다. 하지만 MultiCore에서는 Proxy나 Mediator가 register되기 전에 facade를 호출하면 key를 알 길이 없어서 죽어버린다.

 

좌절은 금지다. 잘 찾아보니 onRegister() 라는 메소드를 오버라이드 할 수 있다. 이 메소드를 오버라이드 하면 Proxy나 Mediator가 등록될 때 onRegister()가 호출된다. 여기에 facade를 사용하는 코드를 넣으면 된다. 문서에선 이게 무슨 의미인지 아직 정확히 안써놔서 몰랐었는데 결국 알게됐다. 이런건 꼭 퇴근시간 지나면 자연히 알게 되더라. 철야.

댓글 없음:

댓글 쓰기