Вы не можете вызвать метод управляемого JSF-компонента непосредственно из управляемого сообщениями компонента, поскольку области и время, в течение которых они активны, совершенно разные.
Управляемый компонент в основном активен во время HTTPзапрос.Впоследствии его состояние может еще где-то храниться (т. Е. Если используется область приложения, сеанса или диалога), но оно ничего не делает активно.
Что вы можете сделать, это использовать технологию, такую как Comet, где вы в основном приостанавливаетезапрос от бобов поддержки.Затем вы можете позволить компоненту поддержки что-то подождать, прежде чем возобновить запрос.Вы можете позволить управляемому компоненту прослушивать ту же очередь JMS, которую прослушивает управляемый сообщениями компонент (при условии, что используется JMS), или вы можете разрешить управляемому компоненту прослушивать шину событий CDI.Как только MDB получает что-то от ActiveMQ, MDB может поместить это на шину событий CDI, и компонент поддержки получает это.
В результате MDB функционирует как компонент моста.
На Devoxx '10 было несколько презентаций, которые продемонстрировали нечто очень похожее на то, что вы просите.
Я думаю, что среди прочих эта презентация была посвящена этой теме: http://www.adam -bien.com /ролик / abien / запись / pets_and_aliens_running_on