public class MessageService extends Service implements csbase.remote.MessageServiceInterface, LoginServiceListener
| Constructor and Description |
|---|
MessageService()
Construtor do serviço.
|
| Modifier and Type | Method and Description |
|---|---|
void |
broadcast(csbase.util.messages.Message message,
long timeToLive) |
void |
clearMessageListener() |
void |
clearMessageListener(ServerSession session)
Remove do serviço de mensagens, o ouvinte de mensagens de uma sessão
específica.
|
void |
clearServerMessageListener(java.io.Serializable consumerId)
Remove do serviço de mensagens o ouvinte de mensagens para o identificador
especificado.
|
void |
connectionLost(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
Informa que a conexão com um usuário foi perdida
|
static void |
createService()
Cria a instância única do serviço.
|
static MessageService |
getInstance()
Obtém a instância única do serviço.
|
protected boolean |
has2Update(java.lang.Object arg,
java.lang.Object event) |
protected void |
initService()
Método abstrato de inicialização do serviço.
|
csbase.util.messages.Message[] |
receive(tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter) |
void |
send(csbase.util.messages.Message message,
long timeToLive,
java.lang.String... usersLogins) |
void |
send(csbase.util.messages.Message message,
java.lang.String... usersLogins)
Envia uma mensagem a vários destinatários.
|
void |
sendToAdmin(csbase.util.messages.Message message)
Envia uma mensagem para o administrator.
|
void |
sendToAdmin(csbase.util.messages.Message message,
long timeToLive)
Envia uma mensagem para o administrator.
|
void |
sendToAll(csbase.util.messages.Message message)
Envia uma mensagem para todos os usuários ativos no momento.
|
void |
sendToServer(csbase.util.messages.Message message)
Envia uma mensagem para o próprio servidor.
|
void |
sessionCreated(java.lang.String login,
java.lang.Object sessionKey,
long time)
Informa que uma sessão foi criada
|
void |
setMessageListener(csbase.remote.IRemoteMessageListener listener,
tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter) |
java.io.Serializable |
setServerMessageListener(csbase.util.messages.IMessageListener listener,
tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter)
Atribui o ouvinte de mensagens para objetos no servidor ao serviço de
mensagens.
|
protected void |
shutdownService()
Método abstrato de término do serviço
|
void |
systemNameSet(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
Informa que o nome do sistema foi definido
|
void |
userLoggingOut(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
Trata o fim da sessão do usuário, seja por logout, ou connection lost,
removendo ouvinte de mensagens daquela sessão.
|
getBooleanProperty, getDefaultLocale, getDoubleProperty, getExternalPropertyFile, getFormattedString, getFormattedString, getInitializationDependencies, getInstance, getIntProperty, getKey, getLongProperty, getName, getOptionalString, getOptionalString, getOSPropertyPath, getSenderName, getServices, getString, getString, getStringListProperty, getStringProperty, getSystemId, getThreadLocale, getUser, getUserPermission, hasProperty, incrCounter, isActive, isEnabled, isInternalServerRequest, isLoggingNotifications, isPropertyNull, logNotification, setEnabled, setKey, setSystemId, setUserIdhandleException, handleFatalErroraddObserver, countObservers, deleteObserver, deleteObserver, deleteObservers, has2update, notifyObserverspublic MessageService()
throws ServerException
ServerException - em caso de falha na construção do serviço.public static MessageService getInstance()
public static void createService()
throws ServerException
ServerException - Se houver erro na inicialização.public void broadcast(csbase.util.messages.Message message,
long timeToLive)
throws java.rmi.RemoteException
broadcast in interface csbase.remote.MessageServiceInterfacejava.rmi.RemoteExceptionpublic void send(csbase.util.messages.Message message,
long timeToLive,
java.lang.String... usersLogins)
throws java.rmi.RemoteException
send in interface csbase.remote.MessageServiceInterfacejava.rmi.RemoteExceptionpublic csbase.util.messages.Message[] receive(tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter)
throws java.rmi.RemoteException
receive in interface csbase.remote.MessageServiceInterfacejava.rmi.RemoteExceptionpublic void clearMessageListener()
throws java.rmi.RemoteException
clearMessageListener in interface csbase.remote.MessageServiceInterfacejava.rmi.RemoteExceptionpublic void setMessageListener(csbase.remote.IRemoteMessageListener listener,
tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter)
throws java.rmi.RemoteException
setMessageListener in interface csbase.remote.MessageServiceInterfacejava.rmi.RemoteExceptionpublic void systemNameSet(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
systemNameSet in interface LoginServiceListenerlogin - Login do usuáriosessionKey - Chave da sessão do usuáriosystemName - Nome do sistema definido pelo usuáriotime - Hora em que ocorreu o evento representado em milisegundospublic void sessionCreated(java.lang.String login,
java.lang.Object sessionKey,
long time)
sessionCreated in interface LoginServiceListenerlogin - Login do usuáriosessionKey - Chave da sessão do usuáriotime - Hora em que ocorreu o evento representado em milisegundospublic void connectionLost(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
connectionLost in interface LoginServiceListenerlogin - Login do usuário que perdeu a conexãosessionKey - Chave da sessão do usuáriosystemName - Nome do sistema definido pelo usuário ou NULL se não tiver sido definido.time - Hora em que ocorreu o evento representado em milisegundospublic void userLoggingOut(java.lang.String login,
java.lang.Object sessionKey,
java.lang.String systemName,
long time)
Trata o fim da sessão do usuário, seja por logout, ou connection lost, removendo ouvinte de mensagens daquela sessão.
userLoggingOut in interface LoginServiceListenerlogin - Login do usuário.sessionKey - Sessão do usuário.systemName - Nome do sistema definido pelo usuário ou NULL se não tiver sido definido.time - Hora em que ocorreu o evento representado em milisegundosprotected void initService()
throws ServerException
initService in class ServiceServerException - em caso de falhaprotected void shutdownService()
throws ServerException
shutdownService in class ServiceServerException - em caso de falha.protected boolean has2Update(java.lang.Object arg,
java.lang.Object event)
has2Update in class csbase.remote.RemoteObjectObservablepublic void send(csbase.util.messages.Message message,
java.lang.String... usersLogins)
throws java.rmi.RemoteException
message - Mensagem a ser enviada.usersLogins - Login dos usuários de destino.java.rmi.RemoteException - Caso haja problemas de comunicação com o servidor.public void sendToAll(csbase.util.messages.Message message)
message - Mensagem a ser enviada.public void sendToAdmin(csbase.util.messages.Message message,
long timeToLive)
throws java.rmi.RemoteException
message - Mensagem a ser enviada.timeToLive - Tempo, em milisegundos, que essa mensagem deve persistir
até que seja consumida.java.rmi.RemoteExceptionpublic void sendToAdmin(csbase.util.messages.Message message)
throws java.rmi.RemoteException
message - Mensagem a ser enviada.java.rmi.RemoteExceptionpublic void sendToServer(csbase.util.messages.Message message)
message - Mensagem a ser enviada.public void clearServerMessageListener(java.io.Serializable consumerId)
consumerId - identificador do consumidorpublic java.io.Serializable setServerMessageListener(csbase.util.messages.IMessageListener listener,
tecgraf.javautils.core.filter.IFilter<csbase.util.messages.Message> filter)
listener - Ouvinte de mensagens.filter - Filtro que determina as mensagens que serão repassadas ao
ouvinte.public void clearMessageListener(ServerSession session)
session - a sessãoCopyright © 2015. All Rights Reserved.