2014-07-09 77 views
1

是增強消息隊列文件級持久性?增強消息隊列文件級別持久性?

在升壓IPC文檔它有提到,消息隊列是文件或內核級別的持久性。

http://www.boost.org/doc/libs/1_38_0/doc/html/interprocess/some_basic_explanations.html

所以我的問題是,他們是文件級別的持久辦法可以生存的重新啓動,或者如果我們還重新啓動在內存持續。

如果他們在默認情況下我們如何能夠使他們的文件級別的持久內核級別的持久?

編輯:當我註銷我的系統並再次登錄的隊列在那裏,工作正常,但是當我重新啓動系統隊列已刪除,我使用Ubunutu和需要實現可存活服務器隊列崩潰我該怎麼做?

回答

1

正如文檔解釋的區別是執行相關的。

一些平臺將有內核支持(因此,「內核級別的持久性」共享IPC對象),有些則不會:

正如你所看到的,Boost.Interprocess中定義了「內核的一些機制或「Filesystem」持久性。這是因爲POSIX允許本地進程間通信實現的可能性。例如,可以使用內存映射文件實現共享內存並獲得文件系統持久性(例如,沒有適當的已知方法來使用本機共享內存來模擬Windows共享內存的用戶庫,或者共享POSIX的進程持久性內存,所以唯一可移植的方式是定義「內核或文件系統」持久性)。

它是不是你可以切換的東西。

更重要的是,它可能不是你所追求的(持久性是關於對象的生命週期,不是消息,AFAICT)

+0

感謝所以如果我們將其作爲文件級別的持久性,然後重新啓動對象之後(M隊列)將在那裏,但消息可能不會。 – Ali786