public class MessageBrokerRegistry extends ObjectSE
コンストラクターと説明 |
---|
MessageBrokerRegistry(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel) |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MessageBrokerRegistry(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel)
public SimpleBrokerRegistration enableSimpleBroker(StringSE... destinationPrefixes)
public StompBrokerRelayRegistration enableStompBrokerRelay(StringSE... destinationPrefixes)
public ChannelRegistration configureBrokerChannel()
protected ChannelRegistration getBrokerChannelRegistration()
public MessageBrokerRegistry setApplicationDestinationPrefixes(StringSE... prefixes)
メッセージが処理されると、ルックアップパスを形成するために、一致するプレフィックスが宛先から削除されます。つまり、アノテーションには宛先プレフィックスを含めないでください。
末尾にスラッシュがないプレフィックスには、自動的に追加されます。
@Nullable protected CollectionSE<StringSE> getApplicationDestinationPrefixes()
public MessageBrokerRegistry setUserDestinationPrefix(StringSE destinationPrefix)
たとえば、ユーザーが "/user/queue/position-updates" にサブスクライブしようとすると、宛先が "/queue/position-updatesi9oqdfzo" に変換され、同じことを試みている他のユーザーと衝突しない一意のキュー名が生成される場合があります。その後、メッセージが "/user/{username}/queue/position-updates", に送信されると、宛先は "/queue/position-updatesi9oqdfzo" に変換されます。
このような宛先を識別するために使用されるデフォルトのプレフィックスは "/user/" です。
public void setUserRegistryOrder(int order)
SmartApplicationListener
として使用する SimpUserRegistry
の順序を設定します。order
- オーダー額 public MessageBrokerRegistry setPathMatcher(PathMatcher pathMatcher)
@MessageMapping
および @SubscribeMapping
メソッドに一致させるために使用する PathMatcher を構成します。 デフォルトでは、AntPathMatcher
が構成されています。ただし、アプリケーションは、"." を使用するようにカスタマイズされた AntPathMatcher
インスタンスを提供する場合があります。(メッセージングで一般的に使用されます)パス区切り文字として "/" の代わりに使用するか、完全に異なる PathMatcher 実装を提供します。
設定された PathMatcher は、設定されたプレフィックスの後の宛先の部分を照合するためにのみ使用されることに注意してください。たとえば、アプリケーションの宛先プレフィックス "/app" と宛先 "/app/price.stock.**" が与えられた場合、メッセージは、型とメソッドレベルのマッピングとしてそれぞれ "price" と "stock.**" を使用してコントローラーにマッピングされる可能性があります。
シンプルブローカーが有効になっている場合、ここで構成された PathMatcher は、メッセージをブローカーするときにメッセージの宛先を照合するためにも使用されます。
@Nullable protected PathMatcher getPathMatcher()
public MessageBrokerRegistry setCacheLimit(int cacheLimit)
これは現在、サブスクリプションレジストリの宛先キャッシュにのみ適用されます。デフォルトのキャッシュ制限は 1024 です。
DefaultSubscriptionRegistry.setCacheLimit(int)
public MessageBrokerRegistry setPreservePublishOrder(boolean preservePublishOrder)
デフォルトでは、"clientOutboundChannel"
に送信されたメッセージは同じ順序で処理されない場合があります。これは、チャネルが ThreadPoolExecutor によってサポートされているため、順番に処理が保証されないためです。
このフラグを true
に設定すると、同じセッション内のメッセージが一度に 1 つずつ "clientOutboundChannel"
に送信され、公開の順序が保持されます。メッセージを正しい順序で保持するためのパフォーマンスのオーバーヘッドがあるため、必要な場合にのみこれを有効にしてください。
@Nullable protected SimpleBrokerMessageHandler getSimpleBroker(SubscribableChannel brokerChannel)
@Nullable protected StompBrokerRelayMessageHandler getStompBrokerRelay(SubscribableChannel brokerChannel)