Class ClientIdFilterDispatchPolicy
java.lang.Object
org.apache.activemq.broker.region.policy.SimpleDispatchPolicy
org.apache.activemq.broker.region.policy.ClientIdFilterDispatchPolicy
- All Implemented Interfaces:
DispatchPolicy
ClientIdFilterDispatchPolicy dispatches messages in a topic to a given
client. Then the message with a "PTP_CLIENTID" property, can be received by a
mqtt client with the same clientId.
- Author:
- kimmking (kimmking@163.com)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandispatch(org.apache.activemq.broker.region.MessageReference node, org.apache.activemq.filter.MessageEvaluationContext msgContext, List<Subscription> consumers) Decides how to dispatch a selected message to a collection of consumers.voidsetPtpClientId(String ptpClientId) voidsetPtpSuffix(String ptpSuffix)
-
Field Details
-
PTP_CLIENTID
- See Also:
-
PTP_SUFFIX
- See Also:
-
-
Constructor Details
-
ClientIdFilterDispatchPolicy
public ClientIdFilterDispatchPolicy()
-
-
Method Details
-
dispatch
public boolean dispatch(org.apache.activemq.broker.region.MessageReference node, org.apache.activemq.filter.MessageEvaluationContext msgContext, List<Subscription> consumers) throws Exception Description copied from interface:DispatchPolicyDecides how to dispatch a selected message to a collection of consumers. A safe approach is to dispatch to every subscription that matches. The list will be safe to iterate over when this method is called- Specified by:
dispatchin interfaceDispatchPolicy- Overrides:
dispatchin classSimpleDispatchPolicy- Returns:
- true if at least one consumer was dispatched or false if there are no active subscriptions that could be dispatched
- Throws:
Exception
-
getPtpClientId
-
setPtpClientId
-
getPtpSuffix
-
setPtpSuffix
-