Duvida referente tratamento de erro por Exception

10 respostas
P

Olá,

qdo chama o metodo abaixo queria qdoo banco não está no ar

voltasse a mensagem Não conseguiu conectar no Servidor de Banco de Dados.

conforme abaixo na chamada do metodo create !!!

sendo que o banco não está inicializado ???

o que está erraod ???

public void testInsert() throws PersistenceException {

		EntityManager        manager = null;
		
		try {
			
			manager = PersistenceServiceFactory.getInstance().getManager();
			
			
		} catch (PersistenceException e) {
			manager.getTransaction().rollback();
			System.out.println("Erro PersistenceException ="+e);
			e.printStackTrace();
		}catch (Exception e) {
			manager.getTransaction().rollback();
			System.out.println("Erro Exception ="+e);
			e.printStackTrace();
		}
		finally{
			manager.close();
		}
	}
public static EntityManagerFactory create() throws PersistenceException {
    	try{
    		if (emf == null)
    		    emf = Persistence.createEntityManagerFactory("xxxx");
    	}catch(Exception e){
    		throw new PersistenceException("","Não conseguiu conectar no Servidor de Banco de Dados.",e, "","");
    		
    	}
    	return emf;	
    }
Named query checking : enabled
- Hibernate Search 3.0.1.GA
- building session factory
- Not binding factory to JNDI, no JNDI name configured
 Inicio testInsertOk(
 Inicio testInsertOk  1.1
 Inicio testInsertOk  1.2
- com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6a63d3 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: connect
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2592)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)


** END NESTED EXCEPTION **
public class PersistenceException extends Exception {
	private static final long serialVersionUID = 3388407027095067946L;

      public PersistenceException(Long errorCode, String defaultErrorMessage, Throwable cause, String errorClassName, String errorMethodName) {
		super(errorCode, defaultErrorMessage, cause, errorClassName, errorMethodName);
	}
	
	}

10 Respostas

maschiojv

Cara, ou eu to cego ou eu não entendi, onde que você chama o create() ?

P
public EntityManager getManager() throws PersistenceException  {
    	try{
    		
    		emf = create();
    		em  = emf.createEntityManager();
    		
    	} catch (GenericJDBCException ge) {
    		--	
    	}catch(Exception e){
    		----    	}
    	return em;	
    }
maschiojv

Você está lançando a exceção novamente de dentro do método getManaget() ?

porque como vc está fazendo um catch dentro desse método, a exceção pode estar se esculhambando ai.

o teu catch tem que ter isso um throw.

}catch(Exception e){ ---- throw e; }

P

estou tentando pegar o erro pra mostrar na tela depois ???

não funiona dessa forma ??? por que ??? porque vaise perder ???

public EntityManager getManager() throws XXXXXXException  {
    	try{
    		
    		emf = create();
    		em  = emf.createEntityManager();
    		
    	} catch (GenericJDBCException ge) {
    		throw new XXXXXXException(ACCESS_ENTITYMANAGER,"Não conseguiu conexão no Servidor de Banco de Dados.",ge, "","");	
    	}catch(Exception e){
    		throw new XXXXXXException(IMACCESS_ENTITYMANAGER,"Não conseguiu conexão no Servidor de Banco de Dados.",e, "","");
    	}
    	return em;	
    }
maschiojv
public void testInsert() throws PersistenceException {  
   
         EntityManager        manager = null;  
          
         try {  
               
            manager = PersistenceServiceFactory.getInstance().getManager();  
               
               
         } catch (PersistenceException e) {  
             manager.getTransaction().rollback();  
             System.out.println("Erro PersistenceException ="+e);  
             e.printStackTrace();  
throw e;
         }catch (Exception e) {  
            manager.getTransaction().rollback();  
             System.out.println("Erro Exception ="+e);  
             e.printStackTrace();  
         }  
         finally{  
             manager.close();  
         }  
     }
P

pra a situação que anterior estou usando CRUD generico conforme abaixo …

o meu problema seria pra tratar quando vou fazer Factory e dar EntityManager

queria tratar se o banco de dados está fora e se não existe conexão ???

pois fiz o teste que vc passou mas não tem jeito qdo da erro abaixo não cai no Exception …

public String execute(HttpServletRequest request,HttpServletResponse response) throws PersistenceException{
		
	System.out.println("Wait while loadding Report..."); 
		 
		
		try{
			
			
			try{
			   emf = Persistence.createEntityManagerFactory("ims");
			}catch (Exception e){
				System.out.println("Erro ims ="+e);
				throw e;
			}
			manager =  emf.createEntityManager();	
			
			Session session = (Session) manager.getDelegate();
			con = session.connection();
		  	
  			Map parameters = new HashMap();
  			System.out.println("Tipo de Grupo = "+request.getParameter("tipo_grupo"));
  			parameters.put("tipo_grupo", Long.valueOf(request.getParameter("tipo_grupo")));
- com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f1f051 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: connect
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2592)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledCo
public abstract class AbstractBaseDao<T extends Entity, ID extends Serializable>  implements BaseDao<T, ID> {
	
	
	
    /*  EntityManager JPA*/
	private  EntityManager em;

	/*  Construtor recebe EntityManager JPA */
	public AbstractBaseDao(EntityManager manager) {
		this.em = manager;
	}

	/* Classe que representa o objeto de domínio gerenciado pelo DAO. */
    protected Class<T> domainClass = getDomainClass();

    /* Retorna a classe do objeto de domínio gerenciado pelo DAO. */
    @SuppressWarnings("unchecked")
	protected Class<T> getDomainClass() {
        if (domainClass == null) {
        	ParameterizedType thisType = (ParameterizedType) getClass().getGenericSuperclass();
            domainClass = (Class<T>) thisType.getActualTypeArguments()[0];
        }
        return domainClass;
    }

	/**
	 * @see BaseDao#find(ID) BaseDao.find(ID id)
	 */
    public T find(ID id) throws TrataDAO {
    	T t = null;
    	try {
    		t = em.find(domainClass, id);
    		return t;
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_FIND_BY_ID), "Não foi possível localizar pelo ID.", e, this.getClass().getCanonicalName(), "find");
    	}
    }

	/**
	 * @see BaseDao#find(ID) BaseDao.find(T entity)
	 */
    public T find(T entity) throws TrataDAO {
    	T t = null;
    	try {
    		t = em.find(domainClass, entity);
    		return t;
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_FIND_BY_CLASS), "Não foi possível localizar pela entidade.", e, this.getClass().getCanonicalName(), "find");
    	}
    }

	/**
	 * @see BaseDao#persist(ID) BaseDao.persist(T t)
	 */
    public void persist(T t) throws TrataDAO {
    	try {
    		em.persist(t);
    	} catch(Exception e) {
    		e.printStackTrace();
    		throw new TrataDAO(getErrorCode(METHOD_PERSIST), "Não foi possível inserir o registro.", e, this.getClass().getCanonicalName(), "persist");
    	}
    }
	/**
	 * @see BaseDao#remove(ID) BaseDao.remove(T t)
	 */
    public void remove(T t) throws TrataDAO {
    	try {
    		em.remove(t);
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_REMOVE), "Não foi possível remover o registro.", e, this.getClass().getCanonicalName(), "remove");
    	}
    }

	/**
	 * @see BaseDao#remove(ID) BaseDao.merge(T t)
	 */
    public void merge(T t) throws TrataDAO {
    	try {
    		em.merge(t);
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_MERGE), "Não foi possível atualizar os dados.", e, this.getClass().getCanonicalName(), "merge");
    	}
    }

    
	/**
	 * @see BaseDao#getList() List<T> BaseDao.getList()
	 */
    @SuppressWarnings("unchecked")
    public List<T> getList() throws TrataDAO {
       	List<T> l_list = new ArrayList<T>();
        try {        
        	l_list = em.createQuery("select x from " + domainClass.getName() + " x").getResultList();
        	
    	} catch(QueryException e) {
    		throw new TrataDAO(getErrorCode(METHOD_GET_LIST), "Não foi possível retornar a lista de registros selecionados ou não há nenhum registro.", e, this.getClass().getCanonicalName(), "getList");
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_GET_LIST), "Não foi possível retornar a lista de registros selecionados ou não há nenhum registro.", e, this.getClass().getCanonicalName(), "getList");
    	}
        return l_list;
    }

	/**
	 * @see BaseDao#removeById(ID) BaseDao.removeById(ID id)
	 */
    public void removeById(ID id) throws TrataDAO {
    	try {
	        Object obj = find(id);
	        em.remove(obj);
    	} catch(Exception e) {
    		throw new TrataDAO(getErrorCode(METHOD_REMOVE_BY_ID), "Não foi possível remover o registro pelo ID.", e, this.getClass().getCanonicalName(), "removeByID");
    	}
    }

	/**
	 * @see BaseDao#count() BaseDao.count()
	 */
	public int count() throws TrataDAO {
    	Long resultado = new Long(0L);
    	Query query = em.createQuery("select count(e) from " + domainClass.getName()+" e" );
    	resultado = (Long) query.getSingleResult();
    	return resultado.intValue();
    }

}
maschiojv

Posta o stacktrace inteiro ai

P

lá vai …

situação o serviço od MYSQL não está rodando …

o codigo que estou rodando …e o erro

public class R01Action implements Action {
	EntityManager                 manager = null;
	EntityManagerFactory          emf     = null;
	
	 private static final String CONTENT_TYPE_PDF  = "application/pdf";
	 OutputStream ops = null;  
	 Connection con = null;
	 
	 
	public R01Action(){
	}
	public String execute(HttpServletRequest request,HttpServletResponse response) throws PersistenceException{
		
	System.out.println("Wait while loadding Report..."); 
		 
		
		try{
			
			
			try{
			   emf = Persistence.createEntityManagerFactory("ims");
			}catch (Exception e){
				System.out.println("Erro ims ="+e);
				throw e;
			}
			manager =  emf.createEntityManager();	
			
			Session session = (Session) manager.getDelegate();
			con = session.connection();
		  	
  			Map parameters = new HashMap();
  			System.out.println("Tipo de Grupo = "+request.getParameter("tipo_grupo"));
  			parameters.put("tipo_grupo", Long.valueOf(request.getParameter("tipo_grupo")));
  			
  			String jasper = request.getContextPath()+ "/reports/Grupo001.jasper";   
  			String host = "http://" + request.getServerName() + ":" + request.getServerPort();   
  			
  			URL jasperURL        = new URL(host + jasper);
  			
  			System.out.println("Getting the binary...");   

  			response.setContentType(CONTENT_TYPE_PDF);   
  			byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);   

  			 if (bytes != null) {   
  		             ops = response.getOutputStream();   
  		             System.out.println("Writting binary");   
  		             ops.write(bytes);   
  		             System.out.println("Sending report...");   
  		     }   

		 } catch (GenericJDBCException ge) {
			 System.out.println("Erro GenericJDBCException = "+ge);   
			 throw new PersistenceException(ge ,"01L","Não conseguiu Conexão Servidor Banco de Dados",   "errorMethodName" );
		 } catch (JRException e) {
			e.printStackTrace();
			 throw new PersistenceException(e ,"01L","Não conseguiu Conexão Servidor Banco de Dados",   "errorMethodName" );		} catch (MalformedURLException e) {
			e.printStackTrace();
			 throw new PersistenceException(e ,"01L","Não conseguiu Conexão Servidor Banco de Dados",   "errorMethodName" );
		
		} catch (Exception ex) {
			 throw new PersistenceException(ex ,"01L","Não conseguiu Conexão Servidor Banco de Dados",   "errorMethodName" );
		}finally{
 

		}
		
		return "/pagina/r01e.jsp";
		
	}

}
17/02/2009 13:06:29 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Relatorio' did not find a matching property.
17/02/2009 13:06:29 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jre1.5.0_16\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:/jdk1.5.0_16/bin/../jre/bin/client;C:/jdk1.5.0_16/bin/../jre/bin;C:\jdk1.5.0_16\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\Arquivos comuns\Aladdin Shared\eToken\PKIClient\x32;C:\Arquivos de programas\TortoiseSVN\bin;C:\Arquivos de programas\SlikSvn\bin\;C:\xmlbeans-2.3.0\bin
17/02/2009 13:06:29 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
17/02/2009 13:06:29 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1952 ms
17/02/2009 13:06:29 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
17/02/2009 13:06:29 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
17/02/2009 13:06:32 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\Relatorio\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
17/02/2009 13:06:37 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
17/02/2009 13:06:37 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
17/02/2009 13:06:37 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/187  config=null
17/02/2009 13:06:37 org.apache.catalina.startup.Catalina start
INFO: Server startup in 7964 ms
acao=R01
Wait while loadding Report...
13:07:40,898  INFO Version:15 - Hibernate Annotations 3.3.1.GA
13:07:40,945  INFO Environment:514 - Hibernate 3.2.6
13:07:40,961  INFO Environment:547 - hibernate.properties not found
13:07:40,977  INFO Environment:681 - Bytecode provider name : cglib
13:07:40,992  INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling
13:07:41,445  INFO Version:15 - Hibernate EntityManager 3.3.2.GA
13:07:43,039  INFO C3P0ConnectionProvider:81 - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/ims
13:07:43,039  INFO C3P0ConnectionProvider:82 - Connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
13:07:43,055  INFO C3P0ConnectionProvider:85 - autocommit mode: true
13:08:42,656  WARN BasicResourcePool:1841 - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3c9314 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: connect
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)


** END NESTED EXCEPTION **



Last packet sent to the server was 0 ms ago.
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2741)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
13:08:42,672  WARN SettingsFactory:117 - Could not obtain connection metadata
java.sql.SQLException: Connections could not be acquired from the underlying database!
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
	at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:56)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2073)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1298)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	at br.com.certisign.relatorio.action.R01Action.execute(R01Action.java:48)
	at br.com.certisign.relatorio.servlet.ServletAction.service(ServletAction.java:31)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
	at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
	at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
	at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
	... 25 more
maschiojv

Cara, sinto muito, mas eu não to conseguindo visualizar o problema.

Fiz a mesma coisa aqui e não tive problemas.

Mas como não custa arriscar algumas hipoteses, lah vai:

  • talvez não esteja retornando uma exception e sim um Error ou Throwable
  • talvez a classe PersistenceException esteja errada e não está exibindo a mensagem que vc passa pra ela como parametro
  • talvez tenha um ser maligno no seu computador XD
  • talvez mais alguém pudesse ajudar :wink:
P

Obrigado pelo retorno …

Criado 13 de fevereiro de 2009
Ultima resposta 18 de fev. de 2009
Respostas 10
Participantes 2