JMSの耐久性と永続性

user123454321

私は現在読んでいてJMS、いくつかの記事の後で、私の頭の中に非永続的なメッセージがある永続的なサブスクリプションについて少し混乱があります。始めましょう:http//www2.sys-con.com/itsg/virtualcd/java/archives/0604/chappell/index.html-それは言う:

  • 非永続メッセージが切断された永続サブスクライバーを対象としている場合、メッセージサーバーはメッセージを永続メッセージであるかのようにディスクに保存しますこの場合、永続メッセージと非永続メッセージの違いは微妙ですが、非常に重要です。非永続メッセージの場合、JMSプロバイダーは、切断された永続サブスクライバーに代わってメッセージをディスクに書き出す前に失敗する可能性があります。メッセージが失われる可能性があります

そして別の情報源:http//openmessaging.blogspot.com/2009/04/durable-messages-and-persistent.htmlはまったく異なることを言っています:

  • このトピックに永続的なサブスクリプションがある場合、メッセージのコピーがアクティブな永続的なサブスクライバーに送信されます。非アクティブな永続サブスクリプションの場合、メッセージのコピーがメモリに保存され、次にアクティブになったときに送信されます。

    この保存されたメッセージは、ブローカーを再起動すると失われます。非永続メッセージはディスク保存されないため、ブローカーの再起動は、メッセージをまだ受信していない非アクティブな永続サブスクリプションがメッセージを見逃すことを意味します。

だから、真実は何ですか:)?

シャシ

一般的に言えば:

1)非永続メッセージはディスクに保存されません。したがって、メッセージングプロバイダーの再起動は提供されません。

2)一方、永続的なメッセージはディスクに保存されます。したがって、それらはメッセージングプロバイダーの再起動を提供します。

ほとんどのメッセージングプロバイダーは、上記の概念に従います。しかし、あなたが指摘したように、いくつかの実装固有の逸脱があります。たとえば、IBM MQには、「半永続的」メッセージ(NPMCLASS属性)の概念があります。これらは「非永続的」メッセージですが、MQメッセージングプロバイダーの通常のシャットダウンと再起動を提供します。MQが異常終了すると、「SemiPersistent」メッセージは失われます。

つまり、実装の詳細に要約されます。

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RabbitMQの耐久性

分類Dev

AzureEventHubと耐久性のある関数

分類Dev

永続アクターと読み取りプロセッサー間のLagomメッセージの耐久性

分類Dev

毎日のバックアップとSSDの耐久性

分類Dev

MassTransitは、耐久性のないメッセージが設定されている場合、永続的なメッセージを送信します

分類Dev

Google CloudBigtableの耐久性/可用性の保証

分類Dev

耐久性のない非bashシェルからのxclip

分類Dev

耐久性のある機能を開始できません

分類Dev

耐久性のあるAzure関数を備えた.NETCore DDD

分類Dev

耐久性のあるドキュメントフォルダ?

分類Dev

RabbitMq.outqをServiceStackで耐久性のあるものとして設定します

分類Dev

SOAP と永続性

分類Dev

Akka-プルパターンと耐久性のあるメールボックス

分類Dev

QpidJMSクライアントとRabbitMQによる耐久性のあるサブスクリプション

分類Dev

DockerRabbitMQの永続性

分類Dev

TempDataの永続性

分類Dev

AndroidMVPの永続性

分類Dev

PostgresDockerの永続性

分類Dev

SpringBootの永続性

分類Dev

自己追加のための文字列の逆イテレータの耐久性

分類Dev

SSDライトアンプリフィケーションと耐久性

分類Dev

クォーツxmlでの耐久性の使用は何ですか

分類Dev

WP8アプリ内購入-1つの耐久性のある製品

分類Dev

Google Cloud pub / subサブスクリプションの耐久性?

分類Dev

本当に耐久性のあるデータベースはありますか?

分類Dev

JMS 2.0:トピックの共有-耐久性-コンシューマーと非同期-キューのコンシューマー。参照。公式GlassFish4.0 docs / javaee-tutorial Java EE 7

分類Dev

依存性注入を使用すると、耐久性のあるAzure関数バインディングタイプが登録されません

分類Dev

永続性の無知とREST

分類Dev

Azureの耐久性のある関数-OrchestrationTriggerは最初に待機したアクティビティを継続的に実行します

Related 関連記事

  1. 1

    RabbitMQの耐久性

  2. 2

    AzureEventHubと耐久性のある関数

  3. 3

    永続アクターと読み取りプロセッサー間のLagomメッセージの耐久性

  4. 4

    毎日のバックアップとSSDの耐久性

  5. 5

    MassTransitは、耐久性のないメッセージが設定されている場合、永続的なメッセージを送信します

  6. 6

    Google CloudBigtableの耐久性/可用性の保証

  7. 7

    耐久性のない非bashシェルからのxclip

  8. 8

    耐久性のある機能を開始できません

  9. 9

    耐久性のあるAzure関数を備えた.NETCore DDD

  10. 10

    耐久性のあるドキュメントフォルダ?

  11. 11

    RabbitMq.outqをServiceStackで耐久性のあるものとして設定します

  12. 12

    SOAP と永続性

  13. 13

    Akka-プルパターンと耐久性のあるメールボックス

  14. 14

    QpidJMSクライアントとRabbitMQによる耐久性のあるサブスクリプション

  15. 15

    DockerRabbitMQの永続性

  16. 16

    TempDataの永続性

  17. 17

    AndroidMVPの永続性

  18. 18

    PostgresDockerの永続性

  19. 19

    SpringBootの永続性

  20. 20

    自己追加のための文字列の逆イテレータの耐久性

  21. 21

    SSDライトアンプリフィケーションと耐久性

  22. 22

    クォーツxmlでの耐久性の使用は何ですか

  23. 23

    WP8アプリ内購入-1つの耐久性のある製品

  24. 24

    Google Cloud pub / subサブスクリプションの耐久性?

  25. 25

    本当に耐久性のあるデータベースはありますか?

  26. 26

    JMS 2.0:トピックの共有-耐久性-コンシューマーと非同期-キューのコンシューマー。参照。公式GlassFish4.0 docs / javaee-tutorial Java EE 7

  27. 27

    依存性注入を使用すると、耐久性のあるAzure関数バインディングタイプが登録されません

  28. 28

    永続性の無知とREST

  29. 29

    Azureの耐久性のある関数-OrchestrationTriggerは最初に待機したアクティビティを継続的に実行します

ホットタグ

アーカイブ