Fóruns

Início » Liferay Portal » English » 6. Portal Framework

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
Stas Mias
MessageBUS
1 de Maio de 2012 01:02
Resposta

Stas Mias

Ranking: New Member

Mensagens: 2

Data de entrada: 16 de Fevereiro de 2012

Mensagens recentes

Hi All .
My goal is to use message bus in both sync and async ways.
For async , I know I have to set and wire "messageListener" and "messageSender" for both sides .
What about sync messages ?
what is the correct implementation of the MessageListener for sending back sync response ?

thanks.
p.s. code example will be very useful.
Mika Koivisto
RE: MessageBUS
1 de Maio de 2012 13:34
Resposta

Mika Koivisto

LIFERAY STAFF

Ranking: Liferay Legend

Mensagens: 1499

Data de entrada: 7 de Agosto de 2006

Mensagens recentes

If you want to send a message synchronously you just need to use MessageBusUtil.sendSynchronousMessage() method. The code snippet below is from com.liferay.portlet.documentlibrary.util.PDFProcessorImpl

 1            if (PropsValues.DL_FILE_ENTRY_PROCESSORS_TRIGGER_SYNCHRONOUSLY) {
 2                try {
 3                    MessageBusUtil.sendSynchronousMessage(
 4                        DestinationNames.DOCUMENT_LIBRARY_PDF_PROCESSOR,
 5                        fileVersion);
 6                }
 7                catch (MessageBusException mbe) {
 8                    if (_log.isWarnEnabled()) {
 9                        _log.warn(mbe, mbe);
10                    }
11                }
12            }
13            else {
14                MessageBusUtil.sendMessage(
15                    DestinationNames.DOCUMENT_LIBRARY_PDF_PROCESSOR,
16                    fileVersion);
17            }


As you can see it uses the same destination but in one case sends the message synchronously and in another asynchronously.