2013-04-15 98 views
3

我以为我得到这个错误,因为我没有hak部署在/ common/lib中的ojdbc14.jar。这个问题甚至在我做完之后依然存在。无法打开连接异常:通用JDBC异常

堆栈跟踪

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection 
    org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) 
    org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76) 
    gov.medicaid.services.impl.RegistrationServiceBean.findByUsername(RegistrationServiceBean.java:156) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 

root cause 

org.hibernate.exception.GenericJDBCException: Cannot open connection 
    org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) 
    org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) 
    org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 
    org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) 
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) 
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) 
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) 
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) 
    org.hibernate.loader.Loader.doQuery(Loader.java:696) 

root cause 

org.jboss.util.NestedSQLException: Unable to get managed connection for MitaDS; - nested throwable: (javax.resource.ResourceException: Unable to get managed connection for MitaDS) 
    org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:95) 
    org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46) 
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) 
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) 
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) 
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) 

root cause 

javax.resource.ResourceException: Unable to get managed connection for MitaDS 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:441) 
    org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941) 
    org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89) 
    org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46) 
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) 
    org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) 
    org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 
    org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) 

root cause 

org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Io exception: The Network Adapter could not establish the connection) 
    org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:225) 
    org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195) 
    org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:633) 
    org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:267) 
    org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:622) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404) 
    org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941) 
    org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89) 
    org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46) 
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) 
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) 
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) 
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) 
    org.hibernate.loader.Loader.doQuery(Loader.java:696) 
    org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) 
    org.hibernate.loader.Loader.doList(Loader.java:2228) 
    org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) 
    org.hibernate.loader.Loader.list(Loader.java:2120) 
    org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) 
    org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) 
    org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 
    org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) 

root cause 

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection 
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) 
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) 
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) 
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) 
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414) 
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) 
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) 
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) 
    org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:207) 
    org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195) 
    org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:633) 
    org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:267) 
    org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:622) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404) 
    org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496) 
    org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941) 
    org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89) 
    org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46) 
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) 
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) 
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) 
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) 
    org.hibernate.loader.Loader.doQuery(Loader.java:696) 
    org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) 
    org.hibernate.loader.Loader.doList(Loader.java:2228) 
    org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) 
    org.hibernate.loader.Loader.list(Loader.java:2120) 
    org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) 
    org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) 
    org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 
    org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) 
    org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 
    org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) 
    gov.medicaid.services.impl.RegistrationServiceBean.findByUsername(RegistrationServiceBean.java:156) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 

note The full stack trace of the root cause is available in the JBoss Web/2.1.3.GA logs. 

JBoss Web/2.1.3.GA 

回答

6

这里的问题是:

org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Io exception: The Network Adapter could not establish the connection) 

这通常意味着你有数据库连接失败或者是由于数据库服务器不可用或您的JBoss之间的底层网络问题服务器和数据库服务器。

+0

我很确定我的数据库连接工作...因为我能够使用SQL Developer访问它。 – AppSensei

+0

你可以从你的jboss服务器访问它吗? – CoolBeans

+0

相当新的这一切..但是,有一个测试,我可以执行检查它? – AppSensei

3

问题是你如何申报您的数据库配置,JDBC,URL,用户证,驾驶...因为这个原因服务器拒绝连接...

0

请检查您的JBoss服务器配置文件你可以在其中找到'InUSeConnectionCount',它与'MaxConnectionPoolSize'相同。如果发生这种情况,这意味着您的所有连接都用完了,并且当前没有连接可以处理您的请求。 请刷新连接池并重试。它肯定会工作:)。

0

通常这个问题可以出现,当你的查询准备出错了,也就是说,当你通过连接字符串的错误数据类型(或)编程地构造查询数据库关闭(或)如果查询失败执行一些异常,然后我们使用获得GenericJDBCException。首先尝试在稍后检查您的连接,确认您的准备好的查询是否正确。或者,如果可能的话,您可以在数据库客户端中运行查询。干杯...