小编neo*_*o11的帖子

如何使我的Jersey HTTPS客户端连接持久化?

[RedHat企业Linux服务器.Java版本8. Jersey版本2.21.]

在泽西有没有办法使HTTPS客户端连接持久存在?

(我正在读取HTTPS连接是持久的,但这不是我在客户端看到的行为.)

我想创建一个连接,使用相同的连接POST一些消息,最后断开连接.我想保持连接打开,而不是在POST之间关闭.

我有以下java Jersey代码:

// target is WebTarget
Response resp = target.request(mediaType).header("Connection", "keep-alive").post(Entity.entity(message, mediaType));    
for (i = 0; i < 5; i++) {
    Thread.sleep(5000);
    LogService.log(srcId, LogLevel.TRACE, "Sleeping...");
}
// log succeeded or failed message here
Run Code Online (Sandbox Code Playgroud)

在netstat中,我看到ESTABLISHED连接显示,保持6-8秒,然后消失.我希望它保持打开状态,因此下一个POST可以使用相同的连接而无需重新连接.

使用-Djavax.net.debug = all运行,我看到连接设置和POSTed数据:

...
%% Cached client session: [Session-1, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256]
[read] MD5 and SHA1 hashes:  len = 16
...
Padded plaintext before ENCRYPTION:  len = 288
...
0010: 50 4F 53 54 20 2F 41 41   41 2F 4D 4E 4F …

java jersey

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

标签 统计

java ×1

jersey ×1