2010-02-23 3 views
1

Мы строим довольно сложное приложение, которое нам нужно иметь возможность выпускать разные части в разное время. Чтобы помочь нам решить эту проблему, мы используем RSL и модули.Использование RSL с модулями

поэтому позвольте мне описать проекты (имена изменены, чтобы защитить невинных)

ядро ​​(RSL)

клиент (приложение)

бакалейные (модуль) groceriesCore (RSL)

хлебопекарное (модуль) bakeryCore (RSL)

у нас есть один Applic который загружает области приложения в виде модулей. У нас есть основной RSL, который делает такие вещи, как логин и имеет права, и предоставляет API для доступа к такого рода состояниям, а также для общения друг с другом.

Когда мы загружаем клиента, мы хотим, чтобы ядро ​​rsl было загружено так, как сейчас. Когда загружается модуль бакалеи, мы хотим загружать бакалеи rsl, а также, когда загружается модуль пекарни, мы хотим, чтобы загружался bakeryCore rsl.

В действительности это не то, что происходит. Если мы будем устанавливать проекты так, как во время выполнения, то ядро ​​rsl загружается при запуске приложения, но модули RSL модуля не загружаются при загрузке модуля. Если мы запустим приложение из проекта, в котором находится модуль бакалеи, тогда он загружается, когда приложение загружается, но не тогда, когда модуль работает.

Нам нужен способ загрузки rsl при загрузке модуля.

В настоящий момент мы указываем продукты в бакалейном магазине и bakeryCore в клиентском приложении, чтобы они загружались при загрузке клиента. Это, конечно, не очень хорошо, так как когда мы добавляем еще 30 отделов, мы не хотим, чтобы все эти отделы загружались при запуске приложения - мы хотим, чтобы они были загружены, когда они нужны, - когда приложение загружается.

Как это достичь? (кроме ужасной пользовательской вещи типа loader rsl).

+0

Я отправил ошибку (или что-то вроде запроса функции сейчас) здесь: https://bugs.adobe.com/jira/browse/SDK-25616 – Roaders

ответ

1

RSL может загружаться только при запуске приложения. То, что я делал в прошлом, - это сделать так, как ваши продукты. Еще один модуль вместо RSL. Затем вы просто указываете его где-то как зависимость для модуля бакалеи, так что, когда вы хотите загрузить продукты, он проверяет, загружен ли модуль бакалейной лавки и при необходимости загружает его.

Управление зависимостями модулей не является чем-то, что Flex устраивает для вас. Поэтому вам придется делать это вручную. Или, возможно, Potomac Framework поможет с этим OSGI-ish.

+0

Спасибо за ответ Джеймс. Я видел ранее упомянутую ранее систему Potomac и думал, что она может быть полезна для нас, но никогда не обходила ее. Не можете ли вы загрузить RSL самостоятельно во время выполнения или их нужно преобразовать в модуль? – Roaders

Смежные вопросы