Getting java.net.SocketException: Connection reset error on RabbitMQ connection using JDK1.7

522 views Asked by At

JDK Version

  • 1.7

RabbitMQ:

AWS RabbitMQ - amqps protocol

Java Client Maven:

<dependency>
        <groupId>com.rabbitmq</groupId>
        <artifactId>amqp-client</artifactId>
        <version>4.12.0</version>
    </dependency>

I am trying to create the RabbitMQ connection using the below code,

        //Establish the Rabbbit MQ connection;
        ConnectionFactory factory = new ConnectionFactory();
        factory.setUsername(userName);
        factory.setPassword(password);
        factory.setHost(hostName);
        factory.setPort(5671);
        factory.useSslProtocol();
        connection = factory.newConnection();

But I am getting below error,

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:554)
at sun.security.ssl.InputRecord.read(InputRecord.java:506)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:709)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.DataOutputStream.flush(DataOutputStream.java:123)
at com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:160)
at com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:170)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:312)
at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:63)
at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:177)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1181)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1138)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1096)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1256)

Can someone please help me to resolve this issue using the JDK 1.7? The same code is working in the Java 8.

1

There are 1 answers

0
Jordy On

If you take a look at the Java libraries for RabbitMQ, you can see that the minimum JDK version of all supported libraries is JDK version 8: RabbitMQ Java Library Table That means that it'll only work with JDK version 8 (1.8) or higher.

Also, just some extra info, but Oracle is also dropping support for JDK 1.7 from july 2022 onwards. Meaning there won't be any security patches and bugfixes anymore.