简体   繁体   English

无法填充池:启动jboss应用程序时

[英]Unable to fill pool: when starting jboss application

My project jboss project is based on spring mvc. 我的项目jboss项目基于spring mvc。 When I run the app I get the following error: 当我运行应用程序时,我收到以下错误:

Unable to fill pool 无法填充池

Datasource configuration 数据源配置

<!-- JNDI setup -->
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:jboss/datasources/SSDiaryDS</value>
        </property>
    </bean>

mysql mapping in jboss standalone.xml jboss standalone.xml中的mysql映射

 <datasource jndi-name="java:jboss/datasources/SSDiaryDS" pool-name="SSDiaryDSPool">
                    <connection-url>jdbc:mysql://localhost:3306/schooldairy</connection-url>
                    <driver>com.mysql</driver>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <pool>
                        <min-pool-size>10</min-pool-size>
                        <max-pool-size>100</max-pool-size>
                        <prefill>true</prefill>
                    </pool>
                    <security>
                        <user-name>root</user-name>
                        <password>password</password>
                    </security>
                    <statement>
                        <prepared-statement-cache-size>32</prepared-statement-cache-size>
                        <share-prepared-statements>true</share-prepared-statements>
                    </statement>
                </datasource>

I encountered the same problem with the following stacktrace: 我遇到了以下stacktrace的相同问题:

00:18:41,862 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (JCA PoolFiller) IJ000610: Unable to fill pool: javax.resource.ResourceException: Could not create connection
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:277)
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:235)
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:761) [ironjacamar-core-impl-1.0.9.Final.jar:1.0.9.Final]
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.fillToMin(SemaphoreArrayListManagedConnectionPool.java:706) [ironjacamar-core-impl-1.0.9.Final.jar:1.0.9.Final]
    at org.jboss.jca.core.connectionmanager.pool.mcp.PoolFiller.run(PoolFiller.java:97) [ironjacamar-core-impl-1.0.9.Final.jar:1.0.9.Final]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]
Caused by: java.sql.SQLException: I/O Error: Connection reset
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2311)
    at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:603)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:345)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:249)
    ... 5 more
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:196) [rt.jar:1.7.0_79]
    at java.net.SocketInputStream.read(SocketInputStream.java:122) [rt.jar:1.7.0_79]
    at java.io.DataInputStream.readFully(DataInputStream.java:195) [rt.jar:1.7.0_79]
    at java.io.DataInputStream.readFully(DataInputStream.java:169) [rt.jar:1.7.0_79]
    at net.sourceforge.jtds.jdbc.SharedSocket.readPacket(SharedSocket.java:846)
    at net.sourceforge.jtds.jdbc.SharedSocket.getNetPacket(SharedSocket.java:727)
    at net.sourceforge.jtds.jdbc.ResponseStream.getPacket(ResponseStream.java:466)
    at net.sourceforge.jtds.jdbc.ResponseStream.read(ResponseStream.java:103)
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2206)
    ... 10 more

My solution was to terminate other java processes in my machine. 我的解决方案是终止我机器中的其他java进程。

This can be caused by many things, I was wrong with this because of the mysql docker version. 这可能是由许多事情引起的,我错误的是因为mysql docker版本。 I changed the version from 8.0 to 5.7, it worked. 我将版本从8.0更改为5.7,它有效。

I suggest you check hostname, port, user, password and versions again. 我建议你再次检查主机名,端口,用户,密码和版本。

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

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