2010-02-23 83 views
1

使用的RSL我們正在建設一個相當複雜的應用程序,我們需要能夠在不同的時間釋放的不同部分。爲了幫助我們解決這個問題,我們使用RSL和模塊。與模塊

所以我給大家介紹的項目(名稱已更改爲保護無辜者)

核心(RSL)

客戶端(應用程序)

雜貨(模塊) groceriesCore(RSL)

麪包店(模塊) bakeryCore(RSL)

我們有一個應用程ation客戶端將應用程序的各個區域作爲模塊加載。我們有一個核心的RSL,它可以執行諸如登錄和持有權利等功能,併爲模塊提供一個API來訪問這種狀態並且還可以相互通信。

當我們加載客戶端,我們只希望要加載的核心RSL,因爲這是當前所需。當加載雜貨模塊時,我們希望加載雜貨rsl,同樣當面包店模塊加載時,我們需要加載bakeryCore rsl。

在現實中,這是不會發生什麼變化。如果我們在運行時像這樣設置項目,則核心rsl會在應用程序啓動時加載,但模塊加載時不加載模塊RSL。如果我們從包含雜貨模塊的項目運行應用程序,那麼當應用程序加載時,rsl加載,但在模塊不加載時加載。

我們需要加載RSL當模塊加載的方式。

在我們的客戶端應用程序指定groceriesCore和bakeryCore因此它們都負載在客戶端負載的時刻。這顯然不是一個好主意,因爲當我們添加另外30個部門時,我們不希望在應用程序啓動時下載所有這些部門 - 我們只希望在應用程序加載時下載它們。

我該如何做到這一點? (除了一個可怕的自定義rsl加載器類型的東西)。

+0

我發佈了一個錯誤(或者現在看起來像一個功能請求): https://bugs.adobe.com/jira/browse/SDK-25616 – Roaders 2010-02-23 14:26:56

回答

1

的RSL只能在應用程序啓動時加載。我過去所做的是製作諸如雜貨的東西,而不是RSL。然後,您只需在某處指定它作爲雜貨模塊的依賴項,以便當您要加載雜貨時,它將檢查groceriesCore模塊是否已加載,並在需要時加載它。

管理模塊的依賴關係並不是Flex爲您管理的事情。所以你必須手動完成。或者Potomac Framework可能會幫助它實現OSGI-ish方法。

+0

感謝您的回覆James。我曾見過之前提到的波托馬克框架,並認爲它可能對我們有用,但從未全面研究它。 難道你不能在運行時加載RSL嗎?還是必須將它們變成模塊? – Roaders 2010-02-23 14:25:42