小编Gog*_*1nA的帖子

如何修复“在配置的阻止超时 (60000 [ms]) 内没有可用的托管连接”

我已经在服务器java上部署了应用程序wildfly-15.0.1.FINAl。我正在使用OJDBC 12.1.0.2.0驱动程序。

<datasource jndi-name="java:/DS_APP" pool-name="APP" enabled="true" use-java-context="true">
        <connection-url>jdbc:oracle:thin:@localhost:1521:MYDB</connection-url>      
        <driver>OracleJDBCDriver</driver>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <pool>
             <min-pool-size>3</min-pool-size>
             <max-pool-size>200</max-pool-size>
        </pool>
        <security>
             <security-domain>Password4APP</security-domain>
        </security>
        <validation>
            <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
            <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
        </validation>
        <timeout>
            <blocking-timeout-millis>60000</blocking-timeout-millis>
            <idle-timeout-minutes>15</idle-timeout-minutes>
        </timeout>
        <statement>
            <track-statements>true</track-statements>
            <prepared-statement-cache-size>100</prepared-statement-cache-size>
        </statement>
    </datasource>
Run Code Online (Sandbox Code Playgroud)

有一段时间,我的应用程序无法获取数据库连接并记录如下错误

Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/DS_APP
    at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:146) ~[?:?]
    at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64) ~[?:?]
    at ge.app.ws.util.DbManager.getDatabaseConnection(DbManager.java:55) ~[classes:?]
    ... 2 more
Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/DS_APP
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:690) ~[?:?]
    at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:440) ~[?:?] …
Run Code Online (Sandbox Code Playgroud)

java ojdbc wildfly-15

6
推荐指数
1
解决办法
1万
查看次数

修复太多打开的文件异常(我正在使用try-catch-finally)

我有在JAVA(版本1.8)上编写的Web服务,它连接HSM并通过套接字发送/接收数据.我的应用程序部署在Apache Tomcat/8.5.14上面linux.

虽然我正在关闭套接字连接,但我有

java.net.SocketException:打开的文件太多

这是myclass

public class myClass implements AutoCloseable {
    Socket socket;
    DataInputStream in;
    DataOutputStream out;

    public myClass(String ip, int port) throws Exception {
        try {
            socket = new Socket(ip, port);
            in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
            out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
        } catch (IOException e) {
            throw new Exception("Connecting to HSM failed" + e);
        }
    }       

   public String sendCommandToHsm(String command) throws IOException {
        out.writeUTF(command);
        out.flush();
        return in.readUTF();
    }

    @Override
    public void close() {
        if (socket …
Run Code Online (Sandbox Code Playgroud)

java sockets linux connection-pooling exception

5
推荐指数
0
解决办法
730
查看次数