Class JGroupsBroadcastEndpoint
java.lang.Object
org.apache.activemq.artemis.api.core.JGroupsBroadcastEndpoint
- All Implemented Interfaces:
BroadcastEndpoint
- Direct Known Subclasses:
JGroupsChannelBroadcastEndpoint
,JGroupsFileBroadcastEndpoint
This class is the implementation of ActiveMQ Artemis members discovery that will use JGroups.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
broadcast
(byte[] data) Broadcasting data to the cluster.void
close
(boolean isBroadcast) Close the endpoint.abstract org.jgroups.JChannel
protected void
internalCloseChannel
(JChannelWrapper channel) Closes the channel used in this JGroups Broadcast.protected void
void
This method initializes a BroadcastEndpint as a broadcaster.void
This method initializes a BroadcastEndpoint as a receiving end for broadcasts.byte[]
Receives the broadcast data.byte[]
receiveBroadcast
(long time, TimeUnit unit) Receives the broadcast data with a timeout.
-
Constructor Details
-
JGroupsBroadcastEndpoint
-
-
Method Details
-
broadcast
Description copied from interface:BroadcastEndpoint
Broadcasting data to the cluster.- Specified by:
broadcast
in interfaceBroadcastEndpoint
- Parameters:
data
- : a byte array containing the data.- Throws:
Exception
-
receiveBroadcast
Description copied from interface:BroadcastEndpoint
Receives the broadcast data. It blocks until data is available.- Specified by:
receiveBroadcast
in interfaceBroadcastEndpoint
- Returns:
- the received data as byte array.
- Throws:
Exception
-
receiveBroadcast
Description copied from interface:BroadcastEndpoint
Receives the broadcast data with a timeout. It blocks until either the data is available or the timeout is reached, whichever comes first.- Specified by:
receiveBroadcast
in interfaceBroadcastEndpoint
- Parameters:
time
- : how long the method should wait for the data to arrive.unit
- : unit of the time.- Returns:
- a byte array if data is arrived within the timeout, or null if no data is available after the timeout.
- Throws:
Exception
-
openClient
Description copied from interface:BroadcastEndpoint
This method initializes a BroadcastEndpoint as a receiving end for broadcasts. After that data can be received using one of its receiveBroadcast() methods.- Specified by:
openClient
in interfaceBroadcastEndpoint
- Throws:
Exception
-
openBroadcaster
Description copied from interface:BroadcastEndpoint
This method initializes a BroadcastEndpint as a broadcaster. After that data can be sent via its broadcast() method.- Specified by:
openBroadcaster
in interfaceBroadcastEndpoint
- Throws:
Exception
-
createChannel
- Throws:
Exception
-
initChannel
- Throws:
Exception
-
internalOpen
- Throws:
Exception
-
close
Description copied from interface:BroadcastEndpoint
Close the endpoint. Any related resources should be cleaned up in this method.- Specified by:
close
in interfaceBroadcastEndpoint
- Parameters:
isBroadcast
- : indicates whether this endpoint serves as a broadcast or not.- Throws:
Exception
-
internalCloseChannel
Closes the channel used in this JGroups Broadcast. Can be overridden by implementations that use an externally managed channel.- Parameters:
channel
-
-