public class MessageBroker extends Object
| Constructor and Description |
|---|
MessageBroker(ExecutorService executor,
IMessageStoreDAO dao,
long persistPeriod,
long receiveTimeout)
Construtor.
|
MessageBroker(IDispatcher<IMessageListener,Message> dispatcher,
IMessageStoreDAO dao,
long persistPeriod,
long receiveTimeout)
Construtor.
|
MessageBroker(IMessageStoreDAO dao,
long persistPeriod,
long receiveTimeout,
int maxThreads)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
Serializable |
createConsumerId()
Cria um novo identificador de consumidor.
|
Message[] |
receive(String topicName,
Serializable consumerId,
tecgraf.javautils.core.filter.IFilter<Message> filter)
Recebe novas mensagens, destinadas a seção do usuário conectado ao serviço.
|
void |
removeMessageListener(String topicName,
Serializable consumerId)
Remove o ouvinte de um determinado consumidor de um tópico.
|
void |
send(Message message,
long timeToLive,
String... topicsDestination)
Envia uma mensagem para vários tópicos.
|
void |
setMessageListener(String topicName,
Serializable consumerId,
IMessageListener listener,
tecgraf.javautils.core.filter.IFilter<Message> filter)
Atribui o ouvinte de um determinado consumidor a um determinado tópico.
|
void |
start()
Inicializa a gerência dos tópicos.
|
void |
stop()
Interrompe a gerencia dos tópicos.
|
public MessageBroker(IMessageStoreDAO dao, long persistPeriod, long receiveTimeout, int maxThreads)
dao - Objeto utilizado para fazer a persistência das mensagens dos
tópicos.persistPeriod - Tempo, em milisegundos, entre sucessivas execuções da
tarefa de persistência dos tópicos no dao.receiveTimeout - Tempo máximo, em milisegundos, que um consumidor tem
entre cada chamada ao método
receive(String, Serializable, IFilter) para ser considerado
ativo e não perder mensagens. MessageStore.MIN_RECEIVE_TIMEOUTms. MessageStore.MAX_RECEIVE_TIMEOUTms.maxThreads - Número máximo de threads utilizado para entregar as
mensagens aos ouvintes.public MessageBroker(ExecutorService executor, IMessageStoreDAO dao, long persistPeriod, long receiveTimeout)
executor - Responsável por executar a tarefa de entregar as mensagens
aos consumidores assíncronos.dao - Objeto utilizado para fazer a persistência das mensagens dos
tópicos.persistPeriod - Tempo, em milisegundos, entre sucessivas execuções da
tarefa de persistência dos tópicos no dao.receiveTimeout - Tempo máximo, em milisegundos, que um consumidor tem
entre cada chamada ao método
receive(String, Serializable, IFilter) para ser considerado
ativo e não perder mensagens. MessageStore.MIN_RECEIVE_TIMEOUTms. MessageStore.MAX_RECEIVE_TIMEOUTms.public MessageBroker(IDispatcher<IMessageListener,Message> dispatcher, IMessageStoreDAO dao, long persistPeriod, long receiveTimeout)
dispatcher - Responsável por entregar mensagens aos consumidores
assíncronos.dao - Objeto utilizado para fazer a persistência das mensagens dos
tópicos.persistPeriod - Tempo, em milisegundos, entre sucessivas execuções da
tarefa de persistência dos tópicos no dao.receiveTimeout - Tempo máximo, em milisegundos, que um consumidor tem
entre cada chamada ao método
receive(String, Serializable, IFilter) para ser considerado
ativo e não perder mensagens. MessageStore.MIN_RECEIVE_TIMEOUTms. MessageStore.MAX_RECEIVE_TIMEOUTms.public void start()
public void stop()
public Serializable createConsumerId()
receive(String, Serializable, IFilter),
setMessageListener(String, Serializable, IMessageListener, IFilter),
removeMessageListener(String, Serializable)public Message[] receive(String topicName, Serializable consumerId, tecgraf.javautils.core.filter.IFilter<Message> filter)
topicName - Nome do tópico de onde as mensagens serão obtidas.consumerId - Identificador do consumidor.filter - filtro que determina as mensagens que serão consumidas.public void setMessageListener(String topicName, Serializable consumerId, IMessageListener listener, tecgraf.javautils.core.filter.IFilter<Message> filter)
topicName - Nome do tópico no qual o ouvinte será cadastrado.consumerId - Identificador do consumidor ao qual o ouvinte pertence.listener - Ouvinte de mensagens.filter - Filtro que determina as mensagens que serão repassadas ao
ouvinte.public void removeMessageListener(String topicName, Serializable consumerId)
topicName - Tópico ao qual o ouvinte a ser retirado pertence.consumerId - Identificador do consumidor ao qual o ouvinte a ser
retirado pertence.public void send(Message message, long timeToLive, String... topicsDestination)
message - Mensagem a ser enviada.timeToLive - Tempo, em milisegundos, que essa mensagem deve persistir
até que seja consumida.topicsDestination - Nome dos tópicos de destino.Copyright © 2016. All rights reserved.