[jboss-user] [JBoss Seam] - Seam Exception and Cannot open connection
DiegoCoronel
do-not-reply at jboss.com
Wed Dec 26 18:40:05 EST 2007
hi,
im trying to throws exception in my bussines class and in my managedBean i want to make an update. My problem is that i think seam is closing my transaction.
My ManagedBean --> my authenticate method is the problem
| package br.fpf.jdoctor.managedbean.seguranca;
|
| import javax.faces.application.FacesMessage;
| import javax.persistence.EntityNotFoundException;
|
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Scope;
| import org.jboss.seam.faces.FacesMessages;
| import org.jboss.seam.security.Identity;
|
| import br.fpf.jdoctor.constants.UsuarioStatusConstant;
| import br.fpf.jdoctor.entitybean.seguranca.Usuario;
| import br.fpf.seguranca.businessrule.impl.exceptions.AutenticacaoException;
| import br.fpf.seguranca.businessrule.impl.exceptions.CifragemSenhaException;
| import br.fpf.seguranca.facade.ISegurancaFacade;
|
| /**
| * Classe responsavel pela autenticacao do usuario
| */
| @Name("authenticator")
| @Scope(ScopeType.SESSION)
| public class Authenticator {
|
| /**
| * Atributo que guardar informacoes sobre o login, inclusive login e password
| */
| @In
| private Identity identity;
|
| /**
| * Fachada responsavel pelas regras de negocio
| */
| @In (create=true, value="#{segurancaFacade}")
| private ISegurancaFacade segurancaFacade;
|
| /**
| * Atributo responsavel por mostrar as mensagens do sistema
| */
| @In
| private FacesMessages facesMessages;
|
| /**
| * Situacao do usuario apos logar
| */
| private int situacao;
|
| /**
| * Usuario Logado
| */
| private Usuario usuario;
|
| /**
| * Contador de tentativas de logar
| */
| private int tentativasDeLogar = 0;
|
| /**
| * Metodo que autentica o usuario
| */
| public boolean authenticate() {
| Usuario usuario = new Usuario();
| usuario.setTxLogin(identity.getUsername());
| usuario.setTxSenha(identity.getPassword());
| ++tentativasDeLogar;
| try {
| usuario = segurancaFacade.autenticarUsuario(usuario);
| situacao = usuario.getCsStatus();
| checkSituacao();
| return true;
| } catch (AutenticacaoException e) {
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.autenticacaoFalhou}");
| e.printStackTrace();
| } catch (CifragemSenhaException e) {
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.cifragemFalhou}");
| e.printStackTrace();
| }
| catch (Exception e){
| if (tentativasDeLogar == 2){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.duasTentivasInvalidas}");
| }
| if (tentativasDeLogar >= 3){
| if (tentativasDeLogar >= 3){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.usuarioFoiBloqueado}");
| segurancaFacade.bloquearUsuario(usuario); --> here im getting closed connection
| }
| }
| }
|
| return false;
| }
|
| public void checkSituacao(){
| if (situacao == UsuarioStatusConstant.ATIVO.getId()){
| //Verificar se precisa mostrar alguma mensagem especifica
| if (checkSenhaExpirada(getUsuario())){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.senhaExpirada}");
| situacao = UsuarioStatusConstant.SENHA_EXPIRADA.getId();
| }
| }
| else if (situacao == UsuarioStatusConstant.INATIVO.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.inativo}");
| }
| else if (situacao == UsuarioStatusConstant.BLOQUEADO.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.bloqueado}");
| }
| else if (situacao == UsuarioStatusConstant.CADASTRO_INCORRETO.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.rejeitado}");
| }
| else if (situacao == UsuarioStatusConstant.CADASTRO_REJEITADO.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.rejeitado}");
| }
| else if (situacao == UsuarioStatusConstant.CADASTRO_SOLICITADO.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.solicitado}");
| }
| else if (situacao == UsuarioStatusConstant.SENHA_REGERADA_PELO_ADMNISTRADOR.getId()){
| facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_WARN, "#{msgLogin.senhaRegerada}");
| }
| }
|
| public boolean checkSenhaExpirada(Usuario usuario){
| // verificar tempo de duracao da senha
| return true;
| }
|
| public int getSituacao() {
| return situacao;
| }
|
| public void setSituacao(int situacao) {
| this.situacao = situacao;
| }
|
| public Usuario getUsuario() {
| return usuario;
| }
|
| public void setUsuario(Usuario usuario) {
| this.usuario = usuario;
| }
|
| public int getTentativasDeLogar() {
| return tentativasDeLogar;
| }
|
| public void setTentativasDeLogar(int tentativasDeLogar) {
| this.tentativasDeLogar = tentativasDeLogar;
| }
|
|
| }
|
|
my bussiness class
| package br.fpf.seguranca.facade.impl;
|
| import java.util.Date;
| import java.util.HashSet;
| import java.util.Iterator;
| import java.util.List;
| import java.util.Set;
|
| import javax.persistence.EntityManager;
| import javax.persistence.EntityNotFoundException;
|
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.TransactionPropagationType;
| import org.jboss.seam.annotations.Transactional;
|
| import br.fpf.jdoctor.constants.UsuarioStatusConstant;
| import br.fpf.jdoctor.entitybean.seguranca.UnidadeOrganizacional;
| import br.fpf.jdoctor.entitybean.seguranca.Usuario;
| import br.fpf.jdoctor.entitybean.seguranca.UsuarioStatus;
| import br.fpf.jdoctor.entitybean.seguranca.UsuarioUndOrganizacional;
| import br.fpf.jdoctor.entitybean.seguranca.UsuarioUndOrganizacionalId;
| import br.fpf.jdoctor.interceptor.JDoctorLog;
| import br.fpf.seguranca.businessrule.impl.RNConsultasUsuario;
| import br.fpf.seguranca.businessrule.impl.RNListarTodasUnidadesOrganizacionaisAtivas;
| import br.fpf.seguranca.businessrule.impl.RNSenhaUtil;
| import br.fpf.seguranca.businessrule.impl.exceptions.AutenticacaoException;
| import br.fpf.seguranca.businessrule.impl.exceptions.CifragemSenhaException;
| import br.fpf.seguranca.businessrule.impl.exceptions.LoginUsuarioInexistente;
| import br.fpf.seguranca.facade.ISegurancaFacade;
|
| /**
| * Fachada do sistema de segurança
| */
| @JDoctorLog
| @Name("segurancaFacade")
| public class SegurancaFacade implements ISegurancaFacade {
|
| @In(create=true, value="#{entityManager}")
| private EntityManager em;
|
| @In(create=true)
| private RNConsultasUsuario rnConsultasUsuario;
|
| @In(create=true)
| private RNSenhaUtil rnSenhaUtil;
|
| @In(create=true, value="#{rnListarTodasUnidadesOrganizacionaisAtivas}")
| private RNListarTodasUnidadesOrganizacionaisAtivas listarUnidadesOrganizacionaisAtivas;
|
| /**
| * Gera nova senha para o usuário e a envia pelo email
| * @param usuario Objeto contendo o login do usuário
| * @throws CifragemSenhaException
| * @throws LoginUsuarioInexistente
| */
| public void gerarNovaSenha(Usuario usuario) throws CifragemSenhaException, LoginUsuarioInexistente {
|
| String login = usuario.getTxLogin();
| usuario = consultarUsuarioPorLogin(login);
|
| if (usuario != null) {
| // gera nova senha
| String novaSenha = rnSenhaUtil.gerarNovaSenha();
| // cifragem da nova senha
| String novaSenhaCifrada = rnSenhaUtil.cifrarSenha(novaSenha);
| // seta nova senha cifrada
| usuario.setTxSenha(novaSenhaCifrada);
| em.persist(usuario);
|
| // Falta nova senha enviar email
| // TODO enviar nova senha por email
| } else {
| throw new LoginUsuarioInexistente("Login inexistente: " + login);
| }
| }
|
| /**
| * Recupera um usuario de acordo com o login
| */
| public Usuario consultarUsuarioPorLogin(String login) {
| Usuario usuario = rnConsultasUsuario.obterUsuarioPorLogin(login);
| return usuario;
| }
|
| /**
| * Metodo que atualiza o status do usuario para bloqueado de acordo com o login
| * @param usuario
| */
| public void bloquearUsuario(Usuario usuario) throws EntityNotFoundException{
| usuario = rnConsultasUsuario.obterUsuarioPorLogin(usuario);
| usuario.setCsStatus(UsuarioStatusConstant.BLOQUEADO.getId());
|
| UsuarioStatus usuarioStatus = new UsuarioStatus();
| usuarioStatus.setCsStatus(UsuarioStatusConstant.BLOQUEADO.getId());
| usuarioStatus.setDtUsuarioStatus(new Date());
| usuarioStatus.setTxJustificativa("bloqueado por 3 tentativas invalidas");
| usuarioStatus.setUsuario(usuario);
| }
|
| /**
| * Salva os dados do usuário.
| * @param Usuario objeto usuário contendo os dados a serem salvos.
| */
| public void salvarUsuario(Usuario usuario) {
| em.persist(usuario);
| }
|
| /**
| * Salva a solicitacao de cadastro de um usuario
| */
| public void saveSolicitacaoCadastro(Usuario usuario, Set<UnidadeOrganizacional> und) throws CifragemSenhaException{
| usuario.setTxSenha(rnSenhaUtil.cifrarSenha(usuario.getTxSenha()));
| em.persist(usuario);
|
| Set<UsuarioUndOrganizacional> setUsuarioUnidade = new HashSet<UsuarioUndOrganizacional>();
|
| Iterator<UnidadeOrganizacional> it = und.iterator();
| while (it.hasNext()){
| UsuarioUndOrganizacional usuarioUnidade = new UsuarioUndOrganizacional();
|
| usuarioUnidade.setDtAlocacao(new Date());
| usuarioUnidade.setUnidadeOrganizacional(it.next());
| usuarioUnidade.setUsuario(usuario);
|
| UsuarioUndOrganizacionalId id = new UsuarioUndOrganizacionalId();
| id.setIdUnidadeOrganizacional(usuarioUnidade.getUnidadeOrganizacional().getIdUnidadeOrganizacional());
| id.setIdUsuario(usuario.getIdUsuario());
|
| usuarioUnidade.setId(id);
|
| setUsuarioUnidade.add(usuarioUnidade);
| }
|
| if ("".equals(usuario.getTxEmail())){
| usuario.setTxEmail(null);
| }
| usuario.setSysTipoUsuario(null);
| usuario.setUsuarioUndOrganizacionals(setUsuarioUnidade);
| usuario.setCsStatus(UsuarioStatusConstant.CADASTRO_SOLICITADO.getId());
|
| UsuarioStatus usuarioStatus = new UsuarioStatus();
| usuarioStatus.setDtUsuarioStatus(new Date());
| usuarioStatus.setUsuario(usuario);
| usuarioStatus.setCsStatus(UsuarioStatusConstant.CADASTRO_SOLICITADO.getId());
| usuarioStatus.setTxJustificativa("solicitação de cadastro");
|
| em.persist(usuarioStatus);
| em.merge(usuario);
| em.flush();
| }
|
| /**
| * Realiza cifragem de uma senha.
| * @param String senha a ser cifrada.
| * @throws CifragemSenhaException.
| */
| public String cifrarSenha(String senha) throws CifragemSenhaException {
| return rnSenhaUtil.cifrarSenha(senha);
| }
|
| /**
| * Metodo que valida o login e senha do usuario
| * @param usuario deverá estar preenchido com o login e a password para validar a autenticacao
| * @return usuario retorna todos os dados do usuario caso a autenticacao seja bem sucedida
| * @throws AutenticacaoException quando login ou senha não estiverem corretos
| * @throws CifragemSenhaException quando ocorrer algum problema na cifragem
| */
| public Usuario autenticarUsuario(Usuario usuario) throws AutenticacaoException, CifragemSenhaException{
| return rnConsultasUsuario.autenticarUsuario(usuario, rnSenhaUtil.cifrarSenha(usuario.getTxSenha() ));
| }
|
| /**
| * Retorna todas as unidade organizacionais que não possuem pai
| */
| public List<UnidadeOrganizacional> getAllUnidadesOrganizacionaisRaiz(){
| return listarUnidadesOrganizacionaisAtivas.getUnidadesOrganizacionaisRaiz();
| }
|
| /**
| * Retorna todas as unidade organizacionais ativas
| */
| public List<UnidadeOrganizacional> getAllUnidadesOrganizacionais(){
| return listarUnidadesOrganizacionaisAtivas.getUnidadesOrganizacionaisAtivas();
| }
| }
|
and my "Query"
| package br.fpf.seguranca.businessrule.impl;
|
| import java.util.List;
|
| import javax.persistence.EntityManager;
| import javax.persistence.EntityNotFoundException;
| import javax.persistence.Query;
|
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.TransactionPropagationType;
| import org.jboss.seam.annotations.Transactional;
|
| import br.fpf.jdoctor.entitybean.seguranca.Usuario;
| import br.fpf.seguranca.businessrule.impl.exceptions.AutenticacaoException;
|
| /**
| * Classe que implementa algoritmo para geração de uma nova senha
| * @author croberto
| *
| */
| @Name("rnConsultasUsuario")
| public class RNConsultasUsuario {
|
| @In(create=true, value="#{entityManager}")
| private EntityManager em;
|
|
| public Usuario obterUsuarioPorLogin(String login) {
| Usuario usuario = null;
| // localiza o usuário
| String sql = "select usuario from Usuario usuario where usuario.txLogin = '" + login + "'";
| Query q = em.createQuery(sql);
| List result = q.getResultList();
|
| if (result.size() > 0) {
| usuario = (Usuario) result.get(0);
| }
| return usuario;
| }
|
| public Usuario obterUsuarioPorLogin(Usuario usuario) {
| // localiza o usuário
| String sql = "select usuario from Usuario usuario where usuario.txLogin = '" + usuario.getTxLogin() + "'";
| return (Usuario)em.createQuery(sql).getSingleResult();
| }
|
| public Usuario autenticarUsuario(Usuario usuario, String senhaCifrada) throws AutenticacaoException{
| String sql = " select usuario " +
| " from Usuario usuario " +
| " where usuario.txLogin = '" + usuario.getTxLogin() + "' " +
| " and usuario.txSenha = '" + senhaCifrada.trim() + "'";
|
|
| return (Usuario)em.createQuery(sql).getSingleResult();
| }
|
| }
|
|
|
my Log
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] HQL: select usuario from br.fpf.jdoctor.entitybean.seguranca.Usuario usuario where usuario.txLogin = 'dcoronel'
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] SQL: select usuario0_.id_usuario as id1_28_, usuario0_.tx_email as tx2_28_, usuario0_.nb_tipo_usuario as nb7_28_, usuario0_.id_usuario_aprovador as id8_28_, usuario0_.tx_nome as tx3_28_, usuario0_.tx_login as tx4_28_, usuario0_.tx_senha as tx5_28_, usuario0_.cs_status as cs6_28_ from seguranca.usuario usuario0_ where usuario0_.tx_login='dcoronel'
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
| 2007-12-26 19:36:48,538 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
| 2007-12-26 19:36:48,553 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.parentTraceEnabled=true
| 2007-12-26 19:36:48,553 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.nestedTraceEnabled=false
| 2007-12-26 19:36:48,553 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.detectDuplicateNesting=true
| 2007-12-26 19:36:48,553 DEBUG [org.hibernate.util.JDBCExceptionReporter] Cannot open connection [???]
| org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImple < ac, BasicAction: a000121:12dd:4772e4dd:57 status: ActionStatus.ABORT_ONLY >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: a000121:12dd:4772e4dd:57 status: ActionStatus.ABORT_ONLY >)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
| at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:47)
| at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
| at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
| at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
| at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
| at org.hibernate.loader.Loader.doQuery(Loader.java:673)
| at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
| at org.hibernate.loader.Loader.doList(Loader.java:2220)
| at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
| at org.hibernate.loader.Loader.list(Loader.java:2099)
| at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
| at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
| at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
| at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
| at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
| at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:80)
| at br.fpf.seguranca.businessrule.impl.RNConsultasUsuario.obterUsuarioPorLogin(RNConsultasUsuario.java:45)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
| at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
| at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
| at br.fpf.seguranca.businessrule.impl.RNConsultasUsuario_$$_javassist_4.obterUsuarioPorLogin(RNConsultasUsuario_$$_javassist_4.java)
| at br.fpf.seguranca.facade.impl.SegurancaFacade.bloquearUsuario(SegurancaFacade.java:91)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
| at br.fpf.jdoctor.interceptor.LogInterceptor.log(LogInterceptor.java:20)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:177)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:72)
| at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
| at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
| at br.fpf.seguranca.facade.impl.SegurancaFacade_$$_javassist_3.bloquearUsuario(SegurancaFacade_$$_javassist_3.java)
| at br.fpf.jdoctor.managedbean.seguranca.Authenticator.authenticate(Authenticator.java:86)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
| at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:43)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
| at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
| at br.fpf.jdoctor.managedbean.seguranca.Authenticator_$$_javassist_7.authenticate(Authenticator_$$_javassist_7.java)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
| at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
| at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
| at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
| at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:174)
| at org.jboss.seam.security.jaas.SeamLoginModule.login(SeamLoginModule.java:108)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
| at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
| at javax.security.auth.login.LoginContext$5.run(LoginContext.java:706)
| at java.security.AccessController.doPrivileged(Native Method)
| at javax.security.auth.login.LoginContext.invokeCreatorPriv(LoginContext.java:703)
| at javax.security.auth.login.LoginContext.login(LoginContext.java:575)
| at org.jboss.seam.security.Identity.authenticate(Identity.java:259)
| at org.jboss.seam.security.Identity.authenticate(Identity.java:248)
| at org.jboss.seam.security.Identity.login(Identity.java:205)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
| at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
| at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
| at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
| at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
| at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
| at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
| at javax.faces.component.UICommand.broadcast(UICommand.java:383)
| at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
| at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
| at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
| at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
| at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
| at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: a000121:12dd:4772e4dd:57 status: ActionStatus.ABORT_ONLY >
| at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:304)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:396)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
| ... 161 more
| 2007-12-26 19:36:48,553 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 0, SQLState: null
| 2007-12-26 19:36:48,553 ERROR [org.hibernate.util.JDBCExceptionReporter] Transaction is not active: tx=TransactionImple < ac, BasicAction: a000121:12dd:4772e4dd:57 status: ActionStatus.ABORT_ONLY >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: a000121:12dd:4772e4dd:57 status: ActionStatus.ABORT_ONLY >)
| 2007-12-26 19:36:48,553 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] mark transaction for rollback
| 2007-12-26 19:36:48,569 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
| 2007-12-26 19:36:48,569 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
| 2007-12-26 19:36:48,569 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
| 2007-12-26 19:36:48,569 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
|
this is a serious problem for me... pls, if anyone can help me ?? i dont know what should i do.
ty, sry about english
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4115615#4115615
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4115615
More information about the jboss-user
mailing list