public class Topic extends Object implements IDispatchListener<IMessageListener,Message>
| Constructor and Description |
|---|
Topic(MessageStore store,
IDispatcher<IMessageListener,Message> dispatcher)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
MessageStore |
getMessageStore()
Obtém o componente responsável por armazenar as mensagens do tópico.
|
void |
onDataDelivered(IMessageListener consumer,
Message... messages)
Método utilizado para indicar que os dados foram entregues com sucesso ao
destino.
|
void |
onExceptionThrown(Exception e,
IMessageListener consumer,
Message... messages)
Método utilizado para indicar que houve um erro durante a entrega dos dados
ao destino.
|
void |
publish(Message message,
long timeToLive)
Adiciona uma mensagem no tópico e notifica seus ouvintes.
|
Message[] |
receive(Serializable consumerId,
tecgraf.javautils.core.filter.IFilter<Message> filter)
Obtém as mensagens a serem entregues a um dado consumidor e as marca como
recebidas.
|
int |
subscribe(Serializable consumerId,
IMessageListener listener,
tecgraf.javautils.core.filter.IFilter<Message> selector)
Inclui um ouvinte de mensagens nessa estrutura.
|
int |
unsubscribe(Serializable consumerId)
Remove um determinado ouvinte desta estrutura.
|
public Topic(MessageStore store, IDispatcher<IMessageListener,Message> dispatcher)
store - Responsável por armazenar as mensagens e quem as recebeu.dispatcher - Estratégia utilizada para entregar as mensagens aos
consumidores.public Message[] receive(Serializable consumerId, tecgraf.javautils.core.filter.IFilter<Message> filter)
consumerId - Identificador do consumidor.filter - filtro que determina as mensagens que serão retornadas.public void publish(Message message, long timeToLive)
message - Mensagem a ser incluída.timeToLive - Tempo, em milisegundos, que essa mensagem deve persistir
até que seja consumida.public int subscribe(Serializable consumerId, IMessageListener listener, tecgraf.javautils.core.filter.IFilter<Message> selector)
consumerId - Identificador do consumidor.listener - Interface utilizada para entregar as mensagens de forma
assíncrona.selector - Filtro que determina as mensagens que serão repassadas ao
ouvinte.IllegalArgumentException - Se já existir um ouvinte com o mesmo
identificador.public int unsubscribe(Serializable consumerId)
Remove um determinado ouvinte desta estrutura.
Uma vez removido, o ouvinte não irá mais receber mensagens a menos que seja
inserido de novo através do método
subscribe(Serializable, IMessageListener, IFilter).
consumerId - Identificador do consumidor.subscribe(Serializable, IMessageListener, IFilter)public MessageStore getMessageStore()
public void onExceptionThrown(Exception e, IMessageListener consumer, Message... messages)
onExceptionThrown in interface IDispatchListener<IMessageListener,Message>e - Exceção lançada durante a entrega.consumer - Destino dos dados.messages - Dados Dados que deveriam ter sido entregues.public void onDataDelivered(IMessageListener consumer, Message... messages)
onDataDelivered in interface IDispatchListener<IMessageListener,Message>consumer - Destino dos dados.messages - Dados entregues.Copyright © 2021. All rights reserved.