Ir para o conteúdo

 Voltar a Jaguar - Des...
Tela cheia

Exeções de null pointer não exibe StackTrace

10 de Junho de 2013, 17:28 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 24 vezes
Foi gerada uma exeção de null pointer (outros erro que não seja plcException também ocorre o problema) na camada de modelo. Ao debugar e tentar identificar o por que isso acontece, 
identifique que o stackTrance não foi exibido devido:

1)Na Classe PlcBaseTransactionalInterceptor
@AroundInvoke
public Object intercept(InvocationContext ic) throws Exception {
Object retValFromSuper = null;
try {
interceptBefore(ic.getTarget(), ic.getMethod(), ic.getParameters());
retValFromSuper = ic.proceed();
interceptAfter(ic.getTarget(), ic.getMethod(), ic.getParameters());
} catch (PlcException ePlc) {
interceptException(ic.getTarget(), ic.getMethod(), ic.getParameters());
throw ePlc;
} catch (Throwable e) {
if (logProfiling.isDebugEnabled()) {
logProfiling.debug( "++++ Excecao Externa Disparada: "+e.toString());
}
interceptException(ic.getTarget(), ic.getMethod(), ic.getParameters());
throw e;//new PlcException("PlcBaseTransactionalInterceptor", "intercept", e, log, "");
}
return retValFromSuper;
}

Ou seja, este método qualquer exceção que diferente de  PlcException será transformada para  PlcException.

2)Na classe PlcExceptionHandlerJSF no método disponibilizaStackTrace
protected void disponibilizaStackTrace(PlcException excecaoTratada) {
log.debug( "########## Entrou em executeDisponibilizaStackTrace");
try {
Throwable t = excecaoTratada;
if (!PlcException.class.isAssignableFrom(excecaoTratada.getClass())) {
if (((PlcException) excecaoTratada).getCausaRaiz() != null) {
t = ((PlcException) excecaoTratada).getCausaRaiz();
// somente disponibiliza stack trace se for exceção externa
getRequest().setAttribute(PlcConstants.ERRO.STACK_TRACE_MSG, exceptionHandlerUtil.stackTraceToString(t, true));
}
}

} catch (Exception e) {
log.fatal( "Erro ao tentar disponibilizar stack trace no request " + e, e);
}
}

Só exibe o StackTrace quando não for um exceção  PlcException ou seja nunca será exibido onde ocorreu o null pointer.

3) Existe uma atualização deste problema, senão como posso ressover isto?

Autor: Jean carlos Schappo


Lançamento do Jaguar 6.1 eminente...

6 de Maio de 2012, 8:13, por Desconhecido

O Jaguar 6.1 traz um grande leque de inovações dentre eles os exclusivos Jaguar Extensions, que possibilitam que plugins de arquitetura sejam criados com elegância através de técnicas de OCP (Open/Closed Principle). Este mecanimo possibilita que as implementações hiper-produtivas para Padrões de Caso de Uso de alto nível do Jaguar sejam expandidas através de componentes que encapsulam novos padrões, tanto para a parte OO (framework) quanto de geração de código complementar!



Evento Jaguar em Brasília, no dia19/10

3 de Outubro de 2011, 9:34, por Desconhecido

Quem estiver em Brasília no dia 19/10 não deixe de investir uma manhã neste evento, que é bem prático (mão na massa para desenvolver uma aplicação "do zero" com Java EE 6 / Jaguar) e traz insights importantes sobre tendências para a próxima década (BPMN 2.0, CMIS, Web Mobile com HTML5, etc.), implementados via Jaguar Extensions.



Ibrowse lança ferramenta de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Jaguar

19 de Agosto de 2011, 16:37, por Desconhecido

A ferramenta lançada é o Telescope for Jaguar na modalidade SaaS, que visa a automação no processo de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Java EE 6 na arquitetura Jaguar, que é uma das soluções do Portal do Software Publico.



Treinamento Jaguar em Brasília

27 de Julho de 2011, 14:47, por Desconhecido

Autor: Anna Carolina Duarte



A Ibrowse em parceria com a Universidade Luterana do Brasil (ULBRA) realiza o 1º curso de extensão em Jaguar

11 de Julho de 2011, 15:35, por Desconhecido

Autor: Justino Paulo