Определить компонент поддержки в одном приложении JSF в другом приложении JSF - PullRequest
0 голосов
/ 08 марта 2012

У меня есть EAR, в котором будет несколько JSF 1.2 + RF 3.3. (0/3) WAR.

Требование заключается в том, что мне нужно вызывать метод в одной WAR из другой WAR. Он уверен, что оба они являются приложениями JSF.

Так можно ли объявить bean-компонент в одной WAR-файле в face-config другого WAR-файла, но обе WAR-ы находятся в одном EAR-файле?

Или есть лучшая альтернатива для этой работы?

======== редактировать ====================================== ================

Или, чтобы сделать задачу более простой / сложной: еще один сценарий, по которому возник этот вопрос:

Я пытаюсь вызвать один экран приложения из другого приложения.

Пример: вызывающее приложение - invoke.war, а вызываемое приложение - target.war.

Если я получаю прямой доступ к target.war, он имеет 1-й экран, который обрабатывает данные и переходит на второй экран.

Но если мне нужно вызвать target.war из invoke.war, я уже обработал данные (в invoke.war) и поэтому хочу перейти непосредственно ко второму экрану, так что target.war не нужно обрабатывать снова.

Для этого я подумал о вышеописанном подходе:)

1 Ответ

1 голос
/ 08 марта 2012

Нет, напрямую вызывать методы в компоненте поддержки в другой WAR невозможно. Вот несколько альтернативных подходов:

  1. Предоставьте методы в «другой WAR», используя что-то вроде удаленных EJB-компонентов или служб SOAP / REST.
  2. Хранить данные в кеше, который виден обеим WAR. Если вы используете JBoss, то JBoss Cache может удовлетворить ваши потребности.
  3. Включить совместное использование сеанса и сохранить данные в сеансе. Не все серверы приложений поддерживают это; Я знаю, что WebSphere делает.
...