Glassfish 4 JDBC资源连接失败,Hibernate 4.3.5和JPA 2.1连接分配由于数据库“空”而被拒绝。 [英] Glassfish 4 JDBC Resource connection fails with Hibernate 4.3.5 and JPA 2.1 connection allocation refused due to database "null"

查看:113
本文介绍了Glassfish 4 JDBC资源连接失败,Hibernate 4.3.5和JPA 2.1连接分配由于数据库“空”而被拒绝。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对Java EE很陌生,并且使用NetBeans 8.0建立了一个项目。在我的EAR项目中,我创建了一个JDBC DataSource和ConnectionPool,它们在部署时成功部署到Glassfish服务器。



当我尝试连接时,我正在使用JPA 2.1与Hibernate 4.3.5,我在我的 persistence.xml 文件中使用JTA jta-data-source 条目来命名

我的 persistence.xml 文件如下:

 <?xml version =1.0encoding =UTF-8?> 
< persistence version =2.1
xmlns =http://xmlns.jcp.org/xml/ns/persistence
xmlns:xsi =http:// www。 w3.org/2001/XMLSchema-instance
xsi:schemaLocation =
http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp。 org / xml / ns / persistence / persistence_2_1.xsd
>
< persistence-unit name =my_PUtransaction-type =JTA>
< provider> org.hibernate.jpa.HibernatePersistenceProvider< / provider>
< jta-data-source> jdbc / myDatasource< / jta-data-source>
< class> my.domain.model.MyModel< / class>
< exclude-unlisted-classes> false< / exclude-unlisted-classes>
<属性>
< property name =hibernate.dialectvalue =org.hibernate.dialect.PostgreSQLDialect/>
< property name =hibernate.hbm2ddl.autovalue =update/>
< property name =hibernate.connection.datasourcevalue =jdbc / myDatasource/>
< property name =hibernate.transaction.factory_classvalue =org.hibernate.transaction.JTATransactionFactory/>
< property name =hibernate.connection.autocommitvalue =true/>
< / properties>
< / persistence-unit>
< /余辉>

当我尝试部署项目时,一切顺利,直到Hibernate hbm2ddl开始,以下内容出现错误信息:

 信息:访问未访问引用
[...]
信息:访问未访问引用
INFO:HHH000204:处理PersistenceUnitInfo [
名称:my_PU
...]
信息:HHH000412:Hibernate Core {4.3.5.Final}
信息: HHH000206:找不到hibernate.properties
INFO:HHH000021:字节码提供程序名称:javassist
警告:HHH000193:重写hibernate.transaction.factory_class是危险的,这可能会破坏EJB3规范的实现
INFO: HCANN000001:Hibernate Commons Annotations {4.0.4.Final}
警告:RAR5038:为池myConnectionPool创建资源时发生意外的异常。异常:javax.resource.spi.ResourceAllocationException:无法分配连接,因为:FATAL:数据库null不存在
警告:RAR5117:无法从连接池[myConnectionPool]获取/创建连接。原因:com.sun.appserv.connectors.internal.api.PoolingException:无法分配连接,因为:FATAL:数据库null不存在
警告:RAR5114:分配连接时出错:[分配连接时出错。原因:无法分配连接,因为:FATAL:数据库null不存在]
警告:HHH000342:无法获取连接到查询元数据:分配连接时出错。原因:无法分配连接,因为:FATAL:数据库null不存在
信息:HHH000400:使用方言:org.hibernate.dialect.PostgreSQLDialect
INFO:HHH000422:禁用上下文LOB创建作为连接为空
INFO:HHH000397:使用ASTQueryTranslatorFactory
INFO:HHH000228:运行hbm2ddl模式更新
INFO:HHH000102:提取数据库元数据
警告:RAR5038:为池创建资源时出现意外的异常myConnectionPool。异常:javax.resource.spi.ResourceAllocationException:无法分配连接,因为:FATAL:数据库null不存在
警告:RAR5117:无法从连接池[myConnectionPool]获取/创建连接。原因:com.sun.appserv.connectors.internal.api.PoolingException:无法分配连接,因为:FATAL:数据库null不存在
警告:RAR5114:分配连接时出错:[分配连接时出错。原因:无法分配连接,因为:FATAL:数据库null不存在]
错误:HHH000319:无法获取数据库元数据
java.sql.SQLException:分配连接时出错。原因:无法分配连接,因为:FATAL:数据库null不存在
at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:121)
at org。 hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
at org。 hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:194)
在org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178)
在org.hibernate.internal。 SessionFactoryImpl。< init>(SessionFactoryImpl.java:522)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4.perform(EntityManagerFactoryBuilderImpl.java:850)
在org.hibernate.jpa.boot.internal.Ent ityManagerFactoryBuilderImpl $ 4.perform(EntityManagerFactoryBuilderImpl.java:843)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397)
at org.hibernate.jpa.boot .internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU (PersistenceUnitLoader.java:199)$ or
at org.glassfish.persistence.jpa.PersistenceUnitLoader。< init>(PersistenceUnitLoader.java:107)
at org.glassfish.persistence.jpa.JPADeployer $ 1.visitPUD (JPADeployer.java:223)
at org.glassfish.persistence.jpa.JPADeployer $ PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer .java:230)在org.glassfish
。 persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:922)
at org.glassfish.javaee。 full.deployment.EarDeployer.prepareBundle(EarDeployer.java:307)
在org.glassfish.javaee.full.deployment.EarDeployer.access $ 200(EarDeployer.java:88)
在org.glassfish.javaee .full.deployment.EarDeployer $ 1.doBundle(EarDeployer.java:153)
在org.glassfish.javaee.full.deployment.EarDeployer $ 1.doBundle(EarDeployer.java:150)
在org.glassfish .javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:230)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:239)
org.glassfish .javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:265)
at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:150)
at com.sun .enterprise.v3.server.ApplicationLifecycle.prepareM odule(ApplicationLifecycle.java:922)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:431)
at com.sun.enterprise.v3.server.ApplicationLifecycle。部署(ApplicationLifecycle.java:219)
在org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1。运行(CommandRunnerImpl.java:527)
at com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:523)
at java.security.AccessController.doPrivileged(Native Method )
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2.execute(CommandRunnerImpl.java:522)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
在com.sun.enterprise.v3.admin.CommandRunnerImpl.acces s $ 1500(CommandRunnerImpl.java:108)
at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1762)
at com.sun.enterprise.v3.admin .CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1674)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3 .admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297)
at com.sun.enterprise.v3 .services.impl.ContainerMapper.service(ContainerMapper.java:246)
在org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
在org.glassfish.grizzly .http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly .filterchain.ExecutorResolver $ 9.execute(ExecutorR $ or
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java: 206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org .glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly .strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.Wor kerThreadIOStrategy $ WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
位于org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:564)
位于org.glassfish.grizzly.threadpool。 AbstractThreadPool $ Worker.run(AbstractThreadPool.java:544)$ b $在java.lang.Thread.run(Thread.java:744)
导致:javax.resource.spi.ResourceAllocationException:错误分配连接。原因:无法分配连接,因为:FATAL:数据库null不存在
在com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:319)
在com.sun。 enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:196)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:171)
at com.sun.enterprise.connectors。 ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:166)
at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:114)
... 61 more
引起:com.sun.appserv.connectors.internal.api.PoolingException:无法分配连接,因为:FATAL:数据库null在com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure中不存在
。 addResource(RWLockDataStructure.java:103)
at com.sun.enterprise.resource.pool.ConnectionPo ol.addResource(ConnectionPool.java:282)
at com.sun.enterprise.resource.pool.ConnectionPool.createResourceAndAddToPool(ConnectionPool.java:1512)
at com.sun.enterprise.resource.pool。 ConnectionPool.createResources(ConnectionPool.java:944)
at com.sun.enterprise.resource.pool.ConnectionPool.initPool(ConnectionPool.java:230)
at com.sun.enterprise.resource.pool。 ConnectionPool.internalGetResource(ConnectionPool.java:511)
at com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:381)
at com.sun.enterprise.resource.pool。 PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
at com.sun.enterprise.connectors.ConnectionManagerImpl。 getResource(ConnectionManagerImpl.java:360)
at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:307)
... 65 mo re
导致:com.sun.appserv.connectors.internal.api.PoolingException:无法分配连接,因为:FATAL:数据库null不存在
在com.sun.enterprise.resource .pool.ConnectionPool.createSingleResource(ConnectionPool.java:924)
at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
at com.sun.enterprise.resource .pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
... 75 more
导致:com.sun.appserv.connectors.internal.api.PoolingException:无法分配连接因为:FATAL:数据库null不存在
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:110)
at com.sun.enterprise.resource.pool .ConnectionPool.createSingleResource(ConnectionPool.java:907)
... 77 more
导致:javax.resource.spi.ResourceAllocationException:连接无法因为:FATAL:databasenull不存在
在com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:129)
在com.sun.enterprise.resource.allocator .LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
... 78 more
导致:org.postgresql.util.PSQLException:FATAL:数据库null不存在
at org .postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:572)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:177)
at org.postgresql.core .ConnectionFactory.openConnection(ConnectionFactory.java:64)
at org.postgresql.jdbc2.AbstractJdbc2Connection。< init>(AbstractJdbc2Connection.java:136)
at org.postgresql.jdbc3.AbstractJdbc3Connection。< init>(AbstractJdbc3Connection.java:29)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection。< init>( (jdbc4Connection.java:31)
at org.postgresql.jdbc4.AbstractJdbc4Connection。< init>(AbstractJdbc4Connection.java:31)
at org.postgresql.jdbc4.Jdbc4Connection。< init>(Jdbc4Connection。 java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at java.sql .DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java :95)
at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:78)
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:115)
... 79 more

...


解决方案

看起来像Glassfi中连接池的配置有些根本错误sh。



请检查属性等,并确保您可以从管理控制台PING DB。


I'm quite new to Java EE, and I have set up a project using NetBeans 8.0. In my EAR project, I created a JDBC DataSource and ConnectionPool which are successfully deployed to the Glassfish server upon deployment.

When I try to connect I am using JPA 2.1 with Hibernate 4.3.5 and I am using the JTA jta-data-source entry in my persistence.xml file to name the managed resource.

My persistence.xml file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" 
        xmlns="http://xmlns.jcp.org/xml/ns/persistence" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="
            http://xmlns.jcp.org/xml/ns/persistence 
            http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd
        ">
    <persistence-unit name="my_PU" transaction-type="JTA">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <jta-data-source>jdbc/myDatasource</jta-data-source>
        <class>my.domain.model.MyModel</class>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.connection.datasource" value="jdbc/myDatasource" />
            <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>
            <property name="hibernate.connection.autocommit" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

When I try to deploy the project, everything goes well until the Hibernate hbm2ddl kicks in, and the following error message appears:

INFO:   visiting unvisited references
[...]
INFO:   visiting unvisited references
INFO:   HHH000204: Processing PersistenceUnitInfo [
            name: my_PU
            ...]
INFO:   HHH000412: Hibernate Core {4.3.5.Final}
INFO:   HHH000206: hibernate.properties not found
INFO:   HHH000021: Bytecode provider name : javassist
WARN:   HHH000193: Overriding hibernate.transaction.factory_class is dangerous, this might break the EJB3 specification implementation
INFO:   HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
WARNING:   RAR5038:Unexpected exception while creating resource for pool myConnectionPool. Exception : javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: FATAL: database "null" does not exist
WARNING:   RAR5117 : Failed to obtain/create connection from connection pool [ myConnectionPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: FATAL: database "null" does not exist
WARNING:   RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: database "null" does not exist]
WARN:   HHH000342: Could not obtain connection to query metadata : Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: database "null" does not exist
INFO:   HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
INFO:   HHH000422: Disabling contextual LOB creation as connection was null
INFO:   HHH000397: Using ASTQueryTranslatorFactory
INFO:   HHH000228: Running hbm2ddl schema update
INFO:   HHH000102: Fetching database metadata
WARNING:   RAR5038:Unexpected exception while creating resource for pool myConnectionPool. Exception : javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: FATAL: database "null" does not exist
WARNING:   RAR5117 : Failed to obtain/create connection from connection pool [ myConnectionPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: FATAL: database "null" does not exist
WARNING:   RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: database "null" does not exist]
ERROR:   HHH000319: Could not get database metadata
java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:121)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
    at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:194)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:522)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
    at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199)
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107)
    at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223)
    at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
    at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
    at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:922)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:307)
    at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:88)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:153)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:150)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:230)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:239)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:265)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:150)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:922)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:431)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:356)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
    at org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    at java.lang.Thread.run(Thread.java:744)
Caused by: javax.resource.spi.ResourceAllocationException: Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:319)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:196)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:171)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:166)
    at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:114)
    ... 61 more
Caused by: com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:103)
    at com.sun.enterprise.resource.pool.ConnectionPool.addResource(ConnectionPool.java:282)
    at com.sun.enterprise.resource.pool.ConnectionPool.createResourceAndAddToPool(ConnectionPool.java:1512)
    at com.sun.enterprise.resource.pool.ConnectionPool.createResources(ConnectionPool.java:944)
    at com.sun.enterprise.resource.pool.ConnectionPool.initPool(ConnectionPool.java:230)
    at com.sun.enterprise.resource.pool.ConnectionPool.internalGetResource(ConnectionPool.java:511)
    at com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:381)
    at com.sun.enterprise.resource.pool.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
    at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.getResource(ConnectionManagerImpl.java:360)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:307)
    ... 65 more
Caused by: com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:924)
    at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
    at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
    ... 75 more
Caused by: com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:110)
    at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907)
    ... 77 more
Caused by: javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: FATAL: database "null" does not exist
    at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:129)
    at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
    ... 78 more
Caused by: org.postgresql.util.PSQLException: FATAL: database "null" does not exist
    at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:572)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:177)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:393)
    at org.postgresql.Driver.connect(Driver.java:267)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:95)
    at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:78)
    at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:115)
    ... 79 more

...

解决方案

Looks like something is fundamentally wrong with the configuration of your connection pool within Glassfish.

Go check the properties etc., and make sure you can PING the DB from the Admin Console.

这篇关于Glassfish 4 JDBC资源连接失败,Hibernate 4.3.5和JPA 2.1连接分配由于数据库“空”而被拒绝。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆