微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java可以与System V linux消息队列交互吗?

我需要从shell脚本 (从基于Linux的应用程序调用)传递信息到Java应用程序。

命名pipe道是一种痛苦,因为我不能考虑在pipe道的读/写结束时考虑到复杂的后果,所以不能启动/停止任何服务。

套接字是非常困难的,因为如果重新启动监听过程没有排队机制,并且简单的实现需要不断创build新的套接字(否则shell脚本将变得非常复杂,带有check-and-restart-socket和排队代码)。

我最近正在读这些System V / POSIX linux消息队列 。 我正在运行Fedora 12,想知道是否有一种很好的方法来configuration这些消息队列并从Java与它们进行交互

有可能在linux中打开消息队列的元素数量巨大?

使用Nginx + pushstream模块进行长轮询可能会丢失消息吗?

POSIX消息队列 – 重启后它是否仍然存在?

mq_open:无效的参数

用Mono发送窗口消息

在C中使用单个消息队列是双向通信

在控制台应用程序中挣扎着一个空的Windows消息队列

MSMQ中的多个队列(性能下降)

mq_open err否13权限被拒绝

Linux上的系统V消息队列无法正常工作

你不能直接使用它们,你必须做一些JNI的巫术来把它们连接起来。

你有什么问题与管道? Java将这些视为普通文件。 我没有广泛使用它们,但是我没有使用管道的问题。 如果生产者跟不上的话,管道读取器需要不断地重新打开管道。

但是如果任何一方都失败了,另一方则会阻止另一方的恢复。

你只需要小心从管道读取缓冲区。 如果您从管道中读取缓冲区,然后失败,那么数据将丢失。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐