- All Superinterfaces:
Channel
- All Known Subinterfaces:
ServerChannel
- All Known Implementing Classes:
ServerChannelImpl
A ConfigurableServerChannel
offers an API that can be used to
configure ServerChannel
s at creation time.
ServerChannel
s may be created concurrently via
BayeuxServer.createChannelIfAbsent(String, ConfigurableServerChannel.Initializer...)
and it is important that the creation of a channel is atomic so that its
configuration is executed only once, and so that it is guaranteed that
it happens before any message can be published or received by the channel.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A listener interface by means of which listeners can atomically set the initial configuration of a channel.static interface
Common interface forServerChannel
listeners. -
Field Summary
Fields inherited from interface org.cometd.bayeux.Channel
META, META_CONNECT, META_DISCONNECT, META_HANDSHAKE, META_SUBSCRIBE, META_UNSUBSCRIBE, SERVICE
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAuthorizer
(Authorizer authorizer) Adds the givenAuthorizer
that grants or denies operations on this channel.void
long
boolean
boolean
isLazy()
boolean
void
removeAuthorizer
(Authorizer authorizer) Removes the givenAuthorizer
.void
void
setBroadcastToPublisher
(boolean broadcastToPublisher) Sets whether a publisher that is also a subscriber to the channel will receive the messages it publishes on that channel.void
setLazy
(boolean lazy) A lazy channel marks all messages published to it as lazy.void
setLazyTimeout
(long lazyTimeout) Sets the lazy timeout for this channel.void
setPersistent
(boolean persistent) A persistent channel is not removed when the last subscription is removedMethods inherited from interface org.cometd.bayeux.Channel
getAttribute, getAttributeNames, getChannelId, getId, isBroadcast, isDeepWild, isMeta, isService, isWild, removeAttribute, setAttribute
-
Method Details
-
addListener
- Parameters:
listener
- the listener to add- See Also:
-
removeListener
- Parameters:
listener
- the listener to remove- See Also:
-
getListeners
List<ConfigurableServerChannel.ServerChannelListener> getListeners()- Returns:
- an immutable list of listeners
- See Also:
-
isLazy
boolean isLazy()- Returns:
- whether the channel is lazy
- See Also:
-
setLazy
void setLazy(boolean lazy) A lazy channel marks all messages published to it as lazy.- Parameters:
lazy
- whether the channel is lazy- See Also:
-
getLazyTimeout
long getLazyTimeout()- Returns:
- the lazy timeout for this channel
- See Also:
-
setLazyTimeout
void setLazyTimeout(long lazyTimeout) Sets the lazy timeout for this channel. A positive value makes the channel lazy, a negative value makes the channel non-lazy.- Parameters:
lazyTimeout
- the lazy timeout for this channel- See Also:
-
isPersistent
boolean isPersistent()- Returns:
- whether the channel is persistent
- See Also:
-
setPersistent
void setPersistent(boolean persistent) A persistent channel is not removed when the last subscription is removed- Parameters:
persistent
- whether the channel is persistent- See Also:
-
isBroadcastToPublisher
boolean isBroadcastToPublisher()- Returns:
- whether the channel broadcasts messages back to the publisher
-
setBroadcastToPublisher
void setBroadcastToPublisher(boolean broadcastToPublisher) Sets whether a publisher that is also a subscriber to the channel will receive the messages it publishes on that channel.- Parameters:
broadcastToPublisher
- whether the channel broadcasts messages back to the publisher
-
addAuthorizer
Adds the given
Authorizer
that grants or denies operations on this channel.Operations must be granted by at least one Authorizer and must not be denied by any.
- Parameters:
authorizer
- the Authorizer to add- See Also:
-
removeAuthorizer
Removes the given
Authorizer
.- Parameters:
authorizer
- the Authorizer to remove- See Also:
-
getAuthorizers
List<Authorizer> getAuthorizers()- Returns:
- an immutable list of authorizers for this channel
-