【发布时间】:2009-03-17 23:55:05
【问题描述】:
我正在寻找具有以下功能的 Java 的良好 TCP 连接库:
1. Retry on failed publishes
2. Multiple connections
你成功使用了哪个库。
编辑:根据评论更改了问题以反映哪种类型的连接库。
【问题讨论】:
-
请更具体些?数据库连接? TCP 连接?
标签: java connection
我正在寻找具有以下功能的 Java 的良好 TCP 连接库:
1. Retry on failed publishes
2. Multiple connections
你成功使用了哪个库。
编辑:根据评论更改了问题以反映哪种类型的连接库。
【问题讨论】:
标签: java connection
可能是Apache MINA 会帮助你。看看。
【讨论】:
我不确定这是否真的有意义。您说的是重试失败的发布,但 TCP 没有 发布 的概念。只是消息传递。因此,您可能正在发布,或者您可能正在请求信息。
例如基于 TCP 的 HTTP 具有动词 GET/PUT/POST(等等)。所有这些都通过 TCP 运行。只有两个实际写了一些东西(PUT/POST)。并且只有 PUT 应该是idempotent(也就是说,你应该能够一次又一次地进行相同的操作,得到相同的结果)。如果您重复发布,我希望重新发布一些内容并在服务器上为每个 POST 创建一个新版本。
以上只是关于如何实现 PUT/POST 的建议。我不希望 HTTP 库代表我承担这一点。
所以在 TCP 层重试消息的概念是错误的(注意 TCP 会重新发送数据包等组成消息)。这是一个更高级别的功能,它可能在较低级别使用 TCP。例如我已经编写了自己的 HTTPClient 包装器,以便在我的远程服务器暂时不可用或报告错误时重试 PUT(我不确定是否存在重试 HTTP 库)
【讨论】: