什么是java中数据发送缓冲区的一般实现?

时间:2012-09-27 22:01:24

标签: java buffer

我正在设计一个以固定间隔发送文本的应用程序。在此间隔期间,应用程序正在收集数据并将其临时存储在缓冲区中,然后再将其发送出去(并清除数据库的内容)。

我尽量不将它们存储在内存中。

目前我正在考虑使用H2嵌入式数据库。

我们通常用于Java中的缓冲区实现?纯文本文件?日志文件?

2 个答案:

答案 0 :(得分:1)

阅读完您的评论后,我认为您的问题的实施可能是:

创建一个交易服务,您可以在其中收集所有必要信息并将其存储在其中 一个StringBuilder,发送信息并最终清除数据库中的内容,如果出现任何问题,您的数据库将保留信息,换句话说就是可靠的服务。

如果你使用多线程来恢复信息,请记住StringBuilder是不同步的,所以如果你的解决方案有多个线程在StringBuilder上工作,不要忘记在内部同步你的类或使用StringBuffer(记住这是线程安全但更慢)。

我希望这会有所帮助。

答案 1 :(得分:0)

内存缓冲区与否取决于您的应用程序需求。 例如,如果您的应用程序必须可靠并在出现问题导致崩溃时管理恢复,则更好的方法是使用文件,如果某些数据尚未处理,您可以恢复。

对于这样的需求,还有MOM(面向消息的middlware)选项,这个解决方案提供了许多优点,包括可靠性。但如果你不需要可靠性,只有一些数据交换存在,则不需要使用MOM。