Os seguintes métodos permitem interagir com uma instância ObjectGrid.
Consulte o tópico da interface ObjectGridManager para obter as etapas necessárias para criação de uma instância do ObjectGrid. Existem dois métodos distintos para criar uma instância do ObjectGrid: programaticamente ou com arquivos de configuração XML. Consulte Interface ObjectGridManager para obter informações adicionais.
Quaisquer métodos configurados devem ser chamados antes de inicializar a instância do ObjectGrid. Se você chamar o método set depois de o método initialize ser chamado, o resultado será uma exceção java.lang.IllegalStateException. Cada um dos métodos getSession da interface ObjectGrid também chama implicitamente o método initialize. Portanto, é necessário chamar os métodos set antes de chamar qualquer um dos métodos getSession. A única exceção desta regra é com a configuração, a inclusão e a remoção de objetos ObjectGridEventListener. Esses objetos podem ser processados após a conclusão do processo de inicialização.
Método | Descrição |
---|---|
BackingMap defineMap(String name); |
defineMap: é um método factory para definir um BackingMap exclusivamente denominado. Para obter informações adicionais sobre os mapas de apoio, consulte a Interface BackingMap. |
BackingMap getMap(String name); |
getMap: Retorna um BackingMap anteriormente definido chamando defineMap. Utilizando este método, é possível configurar o BackingMap, se ainda não estiver configurado por meio da configuração XML. |
BackingMap createMap(String name); |
createMap: Cria um BackingMap, mas não o armazena em cache para uso por este ObjectGrid. Use este método com o método setMaps(List) da interface ObjectGrid, que captura BackingMaps para uso com este ObjectGrid. Utilize estes métodos quando estiver configurando um ObjectGrid com Spring Framework. |
void setMaps(List mapList); |
setMaps: Limpa quaisquer BackingMaps que foram anteriormente definidos neste ObjectGrid e os substitui pela lista de BackingMaps que é fornecida. |
public Session getSession() throws ObjectGridException, TransactionCallbackException; |
getSession: Retorna um Session, que fornece a funcionalidade begin, commit e rollback para uma Unidade de Trabalho. Para obter informações adicionais sobre os objetos Session, consulte a interface Session. |
Session getSession(CredentialGenerator cg); |
getSession(CredentialGenerator cg): Obtém uma sessão com um objeto CredentialGenerator. Este método pode ser chamado apenas pelo cliente do ObjectGrid em um ambiente do servidor do cliente. |
Session getSession(Subject subject); |
getSession(Subject subject): Permite o uso de um objeto Subject específico ao invés de um configurado no ObjectGrid para obter um Session. |
void initialize() throws ObjectGridException; |
initialize: O ObjectGrid é inicializado e está disponível para uso geral. Este método é chamado implicitamente quando o método getSession é chamado, se o ObjectGrid não estiver em um estado inicializado. |
void destroy(); |
destroy: A estrutura é desmontada e não pode ser utilizada após este método ser chamado. |
void setTxTimeout(int timeout); |
setTxTimeout: Utilize este método para configurar a quantidade de tempo, em segundos, que uma transação que é iniciada por uma sessão que esta instância do ObjectGrid criou tem permissão para ser concluída. Se uma transação não for concluída dentro de uma quantidade de tempo especificada, a Sessão que iniciou a transação será marcada como "expirada". Uma Sessão marcada com tempo limite expirado faz com que o próximo método ObjectMap que for chamado pela Sessão marcada resulte em uma exceção com.ibm.websphere.objectgrid.TransactionTimeoutException. O objeto Session é marcado apenas como rollback, o que faz com que ocorra um retrocesso na transação mesmo se o aplicativo chamar o método commit ao invés do método rollback após a exceção TransactionTimeoutException ser capturada pelo aplicativo. Um valor de tempo limite de 0 indica que a transação tem permissão para uma quantidade de tempo ilimitada para ser concluída. A transação não expira se um valor do tempo limite de 0 for utilizado. Se este método não for chamado, então, qualquer objeto Session que é retornado pelo método getSession desta interface possui um valor de tempo limite configurado com 0, por padrão. Um aplicativo pode substituir a configuração de tempo limite da transação em uma base por Sessão utilizando o método setTransactionTimeout da interface com.ibm.websphere.objectgrid.Session. Você também pode configurar o tempo limite da transação com o arquivo objectGrid.xml no caso distribuído. |
int getTxTimeout(); |
getTxTimeout: Retorna o valor de tempo limite da transação em segundos. Este método retorna o mesmo valor que foi transmitido como o parâmetro de tempo limite no método setTxTimeout. Se o método setTxTimeout não foi chamado, então, o método retorna 0 para indicar que a transação tem permissão para uma quantidade de tempo ilimitada para ser concluída. |
public int getObjectGridType(); |
Retorna o tipo de ObjectGrid. O valor de retorno é equivalente a uma das constantes declaradas nesta interface: LOCAL, SERVER ou CLIENT. |
public void registerEntities(Class[] entities); |
Registre uma ou mais entidades com base nos metadados da classe. O registro da entidade é necessário antes da inicialização do ObjectGrid para ligar uma Entidade a um BackingMap e qualquer índice definido. Esse método pode ser chamado várias vezes. |
public void registerEntities(URL entityXML); |
Registra uma ou mais entidades de um arquivo XML da entidade. O registro da entidade é necessário antes da inicialização do ObjectGrid para ligar uma Entidade a um BackingMap e qualquer índice definido. Esse método pode ser chamado várias vezes. |
void setQueryConfig(QueryConfig queryConfig); |
Configure o objeto QueryConfig para este ObjectGrid. Um objeto QueryConfig fornece configurações de consulta para executar consultas de objeto nos mapas nesse ObjectGrid. |
//Segurança |
|
void setSecurityEnabled() |
setSecurityEnabled: Ativa a segurança. A segurança é desativada por padrão. |
void setPermissionCheckPeriod(long period); |
setPermissionCheckPeriod: Este método obtém um parâmetro único que indica com que frequência verificar a permissão que é utilizada para permitir o acesso de um cliente. Se o parâmetro for 0, todos os métodos solicitam ao mecanismo de autorização, autorização JAAS ou autorização customizada, para verificar se o objeto atual tem permissão. Esta estratégia pode causar problemas de desempenho, dependendo da implementação de autorização. No entanto, este tipo de autorização está disponível se for requerido. Alternativamente, se o parâmetro for menor do que 0, ele indica o número de milissegundos a armazenar um conjunto de permissões em cache antes de retornar para o mecanismo de autorização para atualizá-las. Este parâmetro fornece um desempenho muito melhor mas, se as permissões de backend forem alteradas durante este período, o ObjectGrid poderá permitir ou impedir o acesso mesmo que o provedor de segurança de backend tenha sido modificado. |
void setAuthorizationMechanism(int authMechanism); |
setAuthorizationMechanism: Configurar o mecanismo de autorização. O padrão é SecurityConstants.JAAS_AUTHORIZATION. |
setSubjectSource(SubjectSource ss); |
setSubjectSource: Configura o plug-in SubjectSource. Este plug-in pode ser utilizado para obter um objeto Subject que representa o cliente do ObjectGrid. Este subject é utilizado para autorização do ObjectGrid. O método SubjectSource.getSubject é chamado pelo tempo de execução do ObjectGrid quando o método ObjectGrid.getSession é utilizado para obter uma sessão e a segurança está ativada. Este plug-in é útil para um cliente já autenticado: ele pode recuperar o objeto Subject autenticado e, em seguida, transmitir para a instância do ObjectGrid. Outra autenticação não é necessária. |
setSubjectValidation(SubjectValidation sv); |
setSubjectValidation: Configura o plug-in SubjectValidation para esta instância do ObjectGrid. Este plug-in pode ser utilizado para validar se um subject javax.security.auth.Subject transmitido para o ObjectGrid é um subject válido que não foi violado. Uma implementação deste plug-in precisa de suporte do criador do objeto Subject, porque apenas o criador sabe se o objeto Subject foi violado. No entanto, um criador do subject pode não saber se o Subject foi violado. Neste caso, este plug-in não deve ser utilizado. |
void setObjectGridAuthorization(ObjectGridAuthorization ogAuthorization); |
Configura o ObjectGridAuthorization para esta instância do ObjectGrid. Transmitir nulo para este método remove um objeto ObjectGridAuthorization configurado anteriormente de uma chamada anterior deste método e indica que <code>ObjectGrid</code> não está associado a um objeto ObjectGridAuthorization. Esse método deve ser utilizado somente quando a segurança do ObjectGrid estiver ativada. Se a segurança do ObjectGrid estiver desativada, o objeto ObjectGridAuthorization não será utilizado. Um plug-in ObjectGridAuthorization pode ser usado para autorizar o acesso ao ObjectGrid e aos mapas. |
A interface ObjectGrid possui diversos pontos de plug-in opcionais para interações mais extensíveis.
void addEventListener(ObjectGridEventListener cb);
void setEventListeners(List cbList);
void removeEventListener(ObjectGridEventListener cb);
void setTransactionCallback(TransactionCallback callback);
int reserveSlot(String);
// Plug-ins relacionados à segurança
void setSubjectValidation(SubjectValidation subjectValidation);
void setSubjectSource(SubjectSource source);
Para obter mais informações sobre plug-ins, consulte o Visão Geral de Plug-ins.