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

Ranking: Liferay Legend

Mensagens: 1518

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.

Participate in the State of Liferay Community 2017. Help the community and even win some prizes!