我需要从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] 举报,一经查实,本站将立刻删除。