获取java.net,套接字异常:使用JDK1.7进行RabbitMQ连接时出现连接重置错误

clj7thdc  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(108)

JDK版本

  • 1.7
    兔子MQ:

AWS RabbitMQ - amqps协议

Java客户端Maven:

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

我尝试使用下面的代码创建RabbitMQ连接,

//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();

但我在错误之下,

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)

有人能帮我用JDK 1.7解决这个问题吗?同样的代码在Java 8中也能用。

zazmityj

zazmityj1#

如果您查看一下Java libraries for RabbitMQ,您可以看到所有支持的库的最低JDK版本是JDK版本8:

这意味着它只能与JDK版本8(1.8)或更高版本一起工作。
另外,只是一些额外的信息,但甲骨文也是dropping support for JDK 1.7 from july 2022 onwards。这意味着将不会有任何安全补丁和错误修复了。

相关问题