Skip to main content

InitializeWrapper

Classe InitializeWrapper

Implementa os processos de negócio no processo de inicialização do VSet Chameleon ou Hot Deploy.

Anotações

Classe

AnotaçãoDescriçãoParâmetro
@NotLogInforma para VSet Chameleon não gravar rastreamento/performance do processo
@NotShowInforma para VSet Chameleon não gravar as mensagem de requisição e resposta no log de auditoria

Exemplo

@NotLog
public class Initialize extends InitializeWrapper {
// any code
}

Método principal do processo de negócio

MétodoTipoDescrição
initiate()voidImplementa as regras de negócioOpcional

Exemplo

public class Initialize extends InitializeWrapper {

@Override
public void initiate() throws Exception {
// any code
}
}

Variável de sessão

MétodoTipoDescrição
getSessionProperty(String key)ObjectRecupera o valor de uma variável de sessão tipo objeto
getSessionPropertyInt(String key)intRecupera o valor de uma variável de sessão tipo inteiro
getSessionPropertyLong(String key)longRecupera o valor de uma variável de sessão tipo long
getSessionPropertyByte(String key)byteRecupera o valor de uma variável de sessão tipo byte
getSessionPropertyDouble(String key)doubleRecupera o valor de uma variável de sessão tipo double
getSessionPropertyBool(String key)booleanRecupera o valor de uma variável de sessão tipo booleano
getSessionPropertyStr(String key)StringRecupera o valor de uma variável de sessão tipo string
setSessionProperty(String key, Object value)voidInsere o valor de uma variável de sessão tipo objeto
setSessionPropertyInt(String key, int value)voidInsere o valor de uma variável de sessão tipo inteiro
setSessionPropertyLong(String key, long value)voidInsere o valor de uma variável de sessão tipo long
setSessionPropertyByte(String key, byte value)voidInsere o valor de uma variável de sessão tipo byte
setSessionPropertyDouble(String key, double value)voidInsere o valor de uma variável de sessão tipo double
setSessionPropertyBool(String key, boolean value)voidInsere o valor de uma variável de sessão tipo booleano

Exemplo

  • Inclusão do valor da variável de sessão
    setSessionPropertyInt("IdUser", ui.getOutput().getId());
setSessionPropertyInt("IdCompany", idCompany);
setSessionProperty("Usercode", input.getUsercode());
  • Recuperação do valor da variável de sessão
    int idUser = getSessionPropertyInt("IdUser");
int idCompany = getSessionPropertyInt("IdCompany");
String usercode = getSessionProperty("Usercode");

Contexto Transacional Nível Bloco

MétodoTipoDescrição
beginTransactionBlock()voidInicia o bloco transacional de um escopo da regra de negócioGarantir o contexto transacional do bloco - Banco de dados
commitTransactionBlock()voidEfetiva o bloco transacional de um escopo da regra de negócio
rollbackTransactionBlock()voidDesfaz o bloco transacional de um escopo da regra de negócio

Exemplo

    try {
PassportPassword pp = new PassportPassword();
pp.setUsercode(input.getUsercode());
pp.setChannel(uio.getChannel());
pp.setTokenApp(getClientID());
pp.setToken(Util.generateKeyRandom(8));
// begin transaction block
beginTransactionBlock();
TokenUserDAO tuDAO = new TokenUserDAO();
tuDAO.getInput().setId(uio.getIdToken());
tuDAO.select();
TokenUser tu = (TokenUser) tuDAO.getOutputOnlyRecord();
tuDAO.getInput().setPasswordErrorAmount(tu.getPasswordErrorAmount() + 1);
tuDAO.getInput().setLastPasswordErrorDate(new Timestamp(System.currentTimeMillis()));
tuDAO.update();
// end transaction block
commitTransactionBlock();
}
catch (Exception e) {
// rollback transaction block
rollbackTransactionBlock();
throw e;
}

Observação: Aqueles trechos que estão fora do contexto transacional do bloco serão controlados pelo contexto transacional nível global.

FAQ (Frequently Asked Questions)

Como funciona o processo da instanciação da classe InitializeWrapper?

Ocorre em duas situações: Na inicialização do serviço do VSet Chameleon ou no processo de publicação de versão do módulo (Hot Deploy).

O que acontece caso tenha alguma falha no processo de execução na classe de inicialização (InitializeWrapper)?

Quando ocorre alguma falha no processo de execução na classe de inicialização, VSet Chameleon fará a execução do rollback e enviará alerta no monitor e no email para equipe do suporte o motivo da falha. Em cada um minuto, tentará processar novamente até o processo tenha êxito. Geralmente as falhas mais comums são problema de conexão com banco de dados, queda de servidores, problemas de infra (espaço de disco, memória) e dentre outros. Também pode haver falha devido erro de código. Neste caso, desenvolvedor deverá fazer a correção e publicar novamente a versão corrigida.