简体   繁体   English

JPA与MySQL的连接引发“ TOO MANY CONNECTION”错误

[英]JPA Connection to MySQL Throws “TOO MANY CONNECTION” Error

i tries to connect to mysql database through the Application-Server Glassfish and JPA. 我尝试通过Application-Server Glassfish和JPA连接到mysql数据库。

My persistence.xml looks like this: 我的persistence.xml看起来像这样:

<?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="WEBSERVIE-EJB"
    transaction-type="JTA">
    <jta-data-source>AVS_TWO</jta-data-source>
    <properties>
        <property name="eclipselink.ddl-generation" value="create-or-extend-tables" />          
    </properties>
</persistence-unit>
</persistence>

But if i trie that, the console of eclipse gives me the following error: 但是如果我尝试过,eclipse的控制台会给我以下错误:

Exception : Connection could not be allocated because: Data source rejected establishment of connection, message from server: "Too many connections" 异常:无法分配连接,因为:数据源拒绝建立连接,来自服务器的消息:“连接太多”

Exception [EclipseLink-4019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException Exception Description: Error while obtaining information about the database. 异常[EclipseLink-4019](Eclipse Persistence Services-2.5.0.v20130507-3faac2b):org.eclipse.persistence.exceptions.DatabaseException异常描述:获取有关数据库的信息时出错。 Refer to the nested exception for more details. 有关更多详细信息,请参见嵌套异常。 at org.eclipse.persistence.exceptions.DatabaseException.errorRetrieveDbMetadataThroughJDBCConnection(DatabaseException.java:368) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:225) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:734) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:681) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336) at org.eclipse.persistence.interna 在org.eclipse.persistence.internalsession的org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:225)的org.eclipse.persistence.exceptions.DatabaseException.errorRetrieveDbMetadataThroughJDBCConnection(DatabaseException.java:368)处org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)上的.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:734)在org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java :681)(位于org.eclipse.persistence.internal.jpa.EntityManagerFactoryDe​​legate.getAbstractSession(EntityManagerFactoryDe​​legate.java:204),位于org.eclipse.persistence.internal.jpa.EntityManagerFactoryDe​​legate.createEntityManagerImpl(EntityManagerFactoryDe​​legate.java:304)。在org.eclipse.persistence.interna的persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336) l.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302) at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451) at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510) at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492) at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395) at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484) 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.doPrivil l.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)在org.glassfish.persistence.jpa.JPADeployer $ 2.visitPUD(JPADeployer.java:451)在org.glassfish.persistence.jpa.JPADeployer $ PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer .java:510),位于org.glassfish.persistence.jpa.JpaDeployment.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492),位于org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395),位于org.glassfish.kernel。在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484)处的event.EventsImpl.send(EventsImpl.java:131) 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.doPrivil eged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) 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.ht com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2.execute(CommandRunnerImpl.java:522)的javax.security.auth.Subject.doAs(Subject.java:360)的eged(本机方法)位于com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)的.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)位于com.sun.enterprise.v3.admin.CommandRunnerImpl.access com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1762)处$ 1500(CommandRunnerImpl.java:108)at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl。 org.glassfish上com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)上com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)上的java:1674) org.glassfish.grizzly.ht上的com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)上的.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297) tp.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.str org.glassfish.grizzly中的tp.server.HttpHandler.runService(HttpHandler.java:191).org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(http.server.HttpHandler.doHandle(HttpHandler.java:168) org.glassfish.grizzly.filterchain.ExecutorResolver $ 9.execute(ExecutorResolver.java:119)位于org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)处的HttpServerFilter.java:189)。在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)处的grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java: 114)在org.glassfish.grizzly.strategies.AbstractIOStrategy上的org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)上的org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) .fireIOEvent(AbstractIOStrategy.java:113)在org.glassfish.grizzly.str ategies.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:745) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:55)上的ategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy $ WorkerThreadRunnable。 :135)在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:564)在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:544)在java.lang。 Thread.run(Thread.java:745)由以下原因引起:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:连接关闭后,不允许进行任何操作。 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.Util.getInstance(Util.java:387) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:917) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1246) at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1241) at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:2946) at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.ja 位于java.lang.java.sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)处sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)处sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在com.mysql.jdbc.Util.handleNewInstance(Util.java:404)在com.mysql.jdbc.Util.getInstance(Util.java:387)在com.mysql.jdbc的.newInstance(Constructor.java:423)。 com.mysql.jdbc中的SQLError.createSQLException(SQLError.java:917)。com.mysql.jdbc中的SQLError.createSQLException(SQLError.java:896)com.mysql.jdbc中的SQLError.createSQLException(SQLError.java:885) com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1246)处的.SQLError.createSQLException(SQLError.java:860)com.mysql处com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1241)处的。 com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.ja)上的jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:2946) va:2941) at com.sun.gjc.spi.base.ConnectionHolder.getMetaData(ConnectionHolder.java:357) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.getMetaData(ConnectionWrapper40.java:114) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:209) ... 46 more Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 26.046 milliseconds ago. va:2941)位于com.sun.gjc.spi.base.ConnectionHolder.getMetaData(ConnectionHolder.java:357)位于com.sun.gjc.spi.jdbc40.ConnectionWrapper40.getMetaData(ConnectionWrapper40.java:114)位于org.eclipse .persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:209)... 46更多原因:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败从服务器成功接收到的最后一个数据包是26.046毫秒前。 The last packet sent successfully to the server was 0 milliseconds ago. 成功发送到服务器的最后一个数据包是在0毫秒之前。 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3552) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3452) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3893) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.setSessionMaxRows(ConnectionImpl.java:5432) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1960) 位于java.lang.java.sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)处sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)处sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法) .newInstance(Constructor.java:423)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:404)位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988)位于com.mysql.jdbc。 com.mysql.jdbc上的MysqlIO.reuseAndReadPacket(MysqlIO.java:3552)com.mysql.jdbc上的MysqlIO.reuseAndReadPacket(MysqlIO.java:3452)com.mysql.jdbc上com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3893) com.mysql.jdbc上的.MysqlIO.sendCommand(MysqlIO.java:2526),com.mysql上的com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)上的MysqlIO.sqlQueryDirect(MysqlIO.java:2673)。 com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1960)上的jdbc.ConnectionImpl.setSessionMaxRows(ConnectionImpl.java:5432) at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:1002) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:641) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1995) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.j 在com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642)在org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:1002)在org.eclipse.persistence.internal org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)上的.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:641)在org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession) .java:1995),位于org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242),位于org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)。 eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)位于org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.j ava:299) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:281) at org.eclipse.persistence.queries.DataReadQuery.executeNonCursor(DataReadQuery.java:197) at org.eclipse.persistence.queries.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:152) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899) at org.eclipse.persistence.queries.DataReadQuery.execute(DataReadQuery.java:137) at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3207) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1797) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1779) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1730) at org.eclipse.persistence.tools.schemaframework.SchemaManager.checkTableExists(SchemaManager.java:477) at ava:299)位于org.eclipse.persistence.org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:281)位于org.eclipse.persistence.queries.DataReadQuery.executeNonCursor(DataReadQuery.java:197) org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)上的.queries.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:152)org.eclipse.persistence.queries.DataReadQuery.execute(DataReadQuery.java:137) )于org.eclipse.persistence的org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1797)的org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3207)。 org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1730)的internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1779)org.eclipse.persistence.tools.schemaframework.SchemaManager.checkTableExists( SchemaManager.java:477)在 org.eclipse.persistence.tools.schemaframework.TableCreator.extendTables(TableCreator.java:431) at org.eclipse.persistence.tools.schemaframework.TableCreator.extendTablesAndConstraints(TableCreator.java:411) at org.eclipse.persistence.tools.schemaframework.TableCreator.extendTables(TableCreator.java:402) at org.eclipse.persistence.tools.schemaframework.SchemaManager.extendDefaultTables(SchemaManager.java:1189) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.generateDefaultTables(EntityManagerFactoryProvider.java:108) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDLToDatabase(EntityManagerSetupImpl.java:3937) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3865) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3765) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:724) ... 43 more Caused by: jav org.eclipse.persistence.tools上的org.eclipse.persistence.tools.schemaframework.TableCreator.extendTables(TableCreator.java:431)在org.eclipse.persistence.tools.schemaframework.TableCreator.extendTablesAndConstraints(TableCreator.java:411)在org.eclipse.persistence.tools。 org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.generateDefaultTables(EntityManagerFactoryProvider。的org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDLToDatabase(EntityManagerSetupImpl.java:3937)处的org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3865)处的org.eclipse。 org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:724)处的.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3765)... 43更多原因:jav a.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:101) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:174) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3001) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3462) ... 78 more a.net.SocketException:软件导致连接中断:recv在java.net.SocketInputStream.socketRead(SocketInputStream.java:116)的java.net.SocketInputStream.socketRead0(本机方法)处失败.java:170)位于com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:101)处com.mysql.jdbc.util.ReadAheadInputStream处的java.net.SocketInputStream.read(SocketInputStream.java:141)处。 com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:174)上com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3001)上的readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144) .MysqlIO.reuseAndReadPacket(MysqlIO.java:3462)...还有78个

2016-08-03T13:09:47.479+0200|Schwerwiegend: Exception while deploying the app [WEB] 2016-08-03T13:09:47.479+0200|Schwerwiegend: Exception during lifecycle processing org.glassfish.deployment.common.DeploymentException: Exception [EclipseLink-4019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException Exception Description: Error while obtaining information about the database. 2016-08-03T13:09:47.479 + 0200 | Schwerwiegend:部署应用程序时发生异常[WEB] 2016-08-03T13:09:47.479 + 0200 | Schwerwiegend:生命周期处理期间异常org.glassfish.deployment.common.DeploymentException:异常[EclipseLink-4019](Eclipse Persistence Services-2.5.0.v20130507-3faac2b):org.eclipse.persistence.exceptions.DatabaseException异常描述:获取有关数据库的信息时出错。 Refer to the nested exception for more details. 有关更多详细信息,请参见嵌套异常。 at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:762) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302) at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451) at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510) at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492) at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395) at org.glassfish.kern 在org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:762)在org.eclipse.persistence.internal.jpa.EntityManagerFactoryDe​​legate.getAbstractSession(EntityManagerFactoryDe​​legate.java:204)在org.eclipse.persistence.internal org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)上的.jpa.EntityManagerFactoryDe​​legate.createEntityManagerImpl(EntityManagerFactoryDe​​legate.java:304)在org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityFactory .java:302)org.glassfish.persistence.jpa.JPADeployer $ 2.visitPUD(JPADeployer.java:451)org.glassfish.persistence.jpa.JPADeployer $ PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)在org.glassfish。 org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395)上的.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)在org.glassfish.kern上 el.event.EventsImpl.send(EventsImpl.java:131) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484) 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:360) 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$Execut 位于com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484)的el.event.EventsImpl.send(EventsImpl.java:131)(位于com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484) com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:527)的org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)的com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:527)的ApplicationLifecycle.java:219) .sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:523)在java.security.AccessController.doPrivileged(本机方法)在javax.security.auth.Subject.doAs(Subject.java:360)在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2.execute(CommandRunnerImpl.java:522)在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)在com.sun.enterprise。 v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)位于com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1500(CommandRunnerImpl.java:108)at com.sun.enterprise.v3.admin.CommandRunnerImpl $ Execut ionContext.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.execute 在com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.com)上的ionContext.execute(CommandRunnerImpl.java:1762)在com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1674)在com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter。 com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)上的org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297)上的java:534) org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)上的.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)在org.glassfish.grizzly.http.server org.glassfish.grizzly中的.HttpHandler.doHandle(HttpHandler.java:168).org.glassfish.grizzly.filterchain.ExecutorResolver $ 9.execute(ExecutorResolver.java:http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189) 119)在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute ChainPart(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) org.glassfish.grizzly.filterchain上的ChainPart(DefaultFilterChain.java:206)在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)上的org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136) org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)上的.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)在org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java :113)在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:55)在org.glassfish.grizzly.strategies org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:564)的.WorkerThreadIOStrategy $ WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.run(AbstractThreadPool .java:544) at java.lang.Thread.run(Thread.java:745) 在java.lang.Thread.run(Thread.java:745)

The "max_connections" in mysql is set to 600. So that be enough. mysql中的“ max_connections”设置为600。这样就足够了。

Whats the problem? 有什么问题?

Have you tried to use connection pool? 您是否尝试过使用连接池? For eclipse link, you can take a look at this link 对于eclipse链接,您可以看一下链接

I connect to glassfish with JTA. 我用JTA连接到glassfish。 So i have configure a JDBC Connection Pool in Glassfish. 所以我已经在Glassfish中配置了JDBC连接池。 If i trigger the 'Ping' Button in glassfish for testing the connection, it works. 如果我触发了玻璃鱼中的“ Ping”按钮以测试连接,则它可以工作。

https://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html https://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html

B.5.2.7 Too many connections B.5.2.7连接太多

If you get a Too many connections error when you try to connect to the mysqld server, this means that all available connections are in use by other clients. 如果在尝试连接到mysqld服务器时出现连接过多错误,则意味着所有可用连接正在被其他客户端使用。

The number of connections permitted is controlled by the max_connections system variable. 允许的连接数由max_connections系统变量控制。 The default value is 151 to improve performance when MySQL is used with the Apache Web server. 当MySQL与Apache Web服务器一起使用时,默认值是151,以提高性能。 (Previously, the default was 100.) If you need to support more connections, you should set a larger value for this variable. (以前,默认值为100。)如果需要支持更多连接,则应为此变量设置一个较大的值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM