|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xmlBlaster.engine.TopicHandler
public final class TopicHandler
A topic handles all MsgUnit entries of same oid and its subscribers.
This handler has the state UNCONFIGURED | UNREFERENCED | ALIVE | DEAD, see the boolean state access methods for a description
The topicHandler access is only over TopicAccessor which assures that most one thread enters TopicHandler to avoid synchronization problems.
TestTopicLifeCycle
Field Summary | |
---|---|
private boolean |
administrativeInitialize
|
static int |
ALIVE
|
private boolean |
clientTagLog
|
private ContextNode |
contextNode
|
private SessionName |
creatorSessionName
|
static int |
DEAD
|
private Timeout |
destroyTimer
This topic is destroyed after given timeout The timer is activated on state change to UNREFERENCED and removed on change to ALIVE |
private I_MsgDistributor |
distributor
|
private boolean |
dyingInProgress
|
private boolean |
handlerIsNewCreated
|
private I_Queue |
historyQueue
MsgUnit references are stored in a persistent history queue. |
private java.lang.String |
id
The unique identifier of this topic e.g. |
private boolean |
isHistoryHandling
|
private boolean |
isRegisteredInBigXmlDom
|
private static java.util.logging.Logger |
log
|
private JmxMBeanHandle |
mbeanHandle
My JMX registration |
private java.lang.String |
ME
|
private MsgKeyData |
msgKeyData
This holds the quick parsed key information, if you need the DOM use xmlKey instead |
private I_Map |
msgUnitCache
|
private MsgUnitWrapper |
msgUnitWrapperUnderConstruction
|
private java.lang.Object |
msgUnitWrapperUnderConstructionMutex
|
private QueueQueryPlugin |
queueQueryPlugin
this is used for administrative gets (queries on callback queue) |
private RequestBroker |
requestBroker
The broker which manages me |
private ServerScope |
serverScope
|
static int |
SOFT_ERASED
|
private int |
state
|
private java.util.Map |
subscriberMap
This map knows all clients which have subscribed on this message content and knows all individual wishes of the subscription (QoS). |
private I_SubscriptionListener |
subscriptionListener
|
private Timestamp |
timerKey
|
private TopicEntry |
topicEntry
|
private TopicProperty |
topicProperty
The configuration for this TopicHandler |
static int |
UNCONFIGURED
|
static int |
UNDEF
|
private java.lang.String |
uniqueKey
Attribute oid of key tag: |
static int |
UNREFERENCED
|
private XmlKey |
xmlKey
The xmlKey with parsed DOM tree, is null in state=UNCONFIGURED |
Constructor Summary | |
---|---|
TopicHandler(ServerScope serverScope,
SessionInfo publisherSessionInfo,
java.lang.String uniqueKey)
Use this constructor if a yet unknown object is fed by method publish(). |
Method Summary | |
---|---|
void |
addSubscriber(SubscriptionInfo sub,
boolean calleeIsXPathMatchCheck)
A client subscribed to this message, multiple subscriptions from the same client are OK. |
private void |
addToBigDom()
Merge the message DOM tree into the big xmlBlaster DOM tree |
private void |
administrativeInitialize(MsgKeyData msgKeyData,
MsgQosData publishQos,
PublishQosServer publishQosServer)
Initialize the messageUnit cache and the history queue for this topic |
private boolean |
allowedToReconfigureTopicAndFixWrongLimits(MsgQosData msgQosData)
Currently we support growing and shrinking, note that shrinking is not thoroughly tested. |
(package private) void |
change(MsgUnitWrapper msgUnitWrapper)
|
boolean |
checkFilter(SessionInfo publisherSessionInfo,
SubscriptionInfo sub,
MsgUnitWrapper msgUnitWrapper,
boolean handleException)
Checks if the filters allow this message to be sent to the specified session |
private boolean |
checkIfAllowedToSend(SessionInfo publisherSessionInfo,
SubscriptionInfo sub)
Checks if it is allowed to send the entry to the callback queue. |
long |
clearHistoryQueue()
|
private void |
clearSubscribers()
subscribers are not informed here |
protected java.lang.Object |
clone()
|
private java.util.ArrayList |
collectNotifySubscribersAboutErase(SessionName sessionName,
QueryKeyData eraseKey,
EraseQosServer eraseQos)
Collect erase events with volatile non persistent erase messages. |
static MsgQueueUpdateEntry |
createEntryFromWrapper(MsgUnitWrapper msgUnitWrapper,
SubscriptionInfo sub)
|
void |
entryDestroyed(MsgUnitWrapper msgUnitWrapper)
Event triggered by MsgUnitWrapper itself when it reaches destroy state. |
long |
eraseFromHistoryQueue(SessionInfo sessionInfo,
HistoryQos historyQos)
Erase message instances but not the topic itself. |
(package private) void |
eraseRequest(SessionInfo sessionInfo,
QueryKeyData eraseKey,
EraseQosServer eraseQos)
Notify all Listeners that a topic is erased. |
java.lang.String |
eraseTopic()
JMX |
SubscriptionInfo[] |
findSubscriber(SessionInfo sessionInfo)
Returns SubscriptionInfo instances of this session (a session may subscribe the same message multiple times). |
private void |
forwardToDestinations(SessionInfo publisherSessionInfo,
MsgUnitWrapper cacheEntry,
PublishQosServer publishQos)
Forward PtP messages. |
java.lang.String |
getContentMime()
What is the MIME type of this message content? |
java.lang.String |
getContentMimeExtended()
Access the topics content mime extended. |
ContextNode |
getContextNode()
The unique name of this topic instance. |
long |
getDestroyDelay()
JMX |
boolean |
getDomTreeExists()
Check if this topic is query-able by XPath. |
boolean |
getExactSubscribersExist()
|
MsgUnit[] |
getHistoryMsgUnitArr(int num,
boolean newestFirst)
Returns a snapshot of all entries in the history |
I_Queue |
getHistoryQueue()
|
MsgUnit[] |
getHistoryQueueEntries(java.lang.String querySpec)
Query the history queue, can be peeking or consuming. |
java.lang.String |
getId()
The unique identifier of this topic e.g. |
I_MsgDistributor |
getMsgDistributorPlugin()
|
MsgKeyData |
getMsgKeyData()
|
(package private) I_Map |
getMsgUnitCache()
Stores the message 'meat'. |
MsgUnitWrapper |
getMsgUnitWrapper(long uniqueId)
|
MsgUnitWrapper[] |
getMsgUnitWrapperArr(int num,
boolean newestFirst)
Returns a snapshot of all entries in the history |
long |
getNumOfCacheEntries()
The number of entries in the msgCache. |
long |
getNumOfHistoryEntries()
Get the number of history message references we contain. |
int |
getNumSubscribers()
Access the number of registered subscribers on this topic. |
RequestBroker |
getRequestBroker()
|
org.w3c.dom.Node |
getRootNode()
|
java.lang.String |
getStateStr()
Get the life cycle status of this topic. |
java.lang.String[] |
getSubscribers()
JMX |
SubscriptionInfo[] |
getSubscriptionInfoArr()
Get a snapshot of all subscriptions |
java.lang.String |
getTopicXml()
Access the topics xml key. |
boolean |
getTopicXmlExists()
|
java.lang.String |
getUniqueKey()
This is the unique key of the topic and MsgUnit |
java.lang.String |
getUsageUrl()
JMX |
XmlKey |
getXmlKey()
Accessing the DOM parsed key of this topic. |
void |
handleCallbackFailed(java.util.Set removeSet)
If a callback fails, we remove it from the subscription. |
boolean |
hasCacheEntries()
Do we contain at least one message? |
boolean |
hasDomTree()
|
boolean |
hasExactSubscribers()
Returns true if there are subscribers with exact query on oid or domain |
boolean |
hasHistoryEntries()
Do we contain at least one message? |
boolean |
hasSubscribers()
|
boolean |
hasXmlKey()
Check if there is a valid DOM parsed XML key available |
private void |
initMsgDistributorPlugin()
instantiates and initializes a MsgDistributorPlugin if the topic property requires so. |
private I_Queue |
initQueue(I_Queue queue,
java.lang.String queueName)
Creates a queue with the properties specified in the historyQueueProperty |
private int |
invokeCallback(SessionInfo publisherSessionInfo,
SubscriptionInfo sub,
MsgUnitWrapper msgUnitWrapper,
boolean doErrorHandling)
Put the message into the callback queue of the subscribed client (Pub/Sub mode only). |
private void |
invokeCallbackAndHandleFailure(SessionInfo publisherSessionInfo,
MsgUnitWrapper msgUnitWrapper)
Send updates to all subscribed clients. |
boolean |
isAlive()
This state is defined if we are still referenced by subscriptions or if we contain some messages |
boolean |
isDead()
true if the instance is ready for garbage collection |
static boolean |
isDirtyRead(SubscriptionInfo sub,
MsgUnitWrapper msgUnitWrapper)
Checks if the subscriber is a cluster and the message has the 'dirtyRead' flag set. |
(package private) boolean |
isInMsgStore(MsgUnitWrapper msgUnitWrapper)
Check if the MsgUnitWrapper is owned by the TopicHandler (during construction). |
boolean |
isSoftErased()
This state is reached on an erase(forceDestroy==false) invocation if there are still message referenced from the callback queue. |
boolean |
isUnconfigured()
This state is reached if the TopicHandler is initially created by a subscribe() and is not yet configured by an initial publish() |
boolean |
isUndef()
The initial state at creation |
boolean |
isUnreferenced()
This is a cleanup state (it is recoverable) This state is reached when we are configured but not referenced by any subscribes and without any messages. |
private void |
notifySubscribersAboutErase(java.util.ArrayList msgSet)
Send erase event with a volatile non persistent erase message. |
int |
numSubscribers()
|
java.lang.String[] |
peekHistoryMessages(int numOfEntries)
Peek messages from history queue, they are not removed. |
java.lang.String[] |
peekHistoryMessagesToFile(int numOfEntries,
java.lang.String path)
Peek messages from history queue and dump them to a file, they are not removed. |
private boolean |
persistTopic(TopicEntry entry)
|
private TopicEntry |
persistTopicEntry()
Create or access the cached persistence storage entry of this topic. |
PublishReturnQos |
publish(SessionInfo publisherSessionInfo,
MsgUnit msgUnit,
PublishQosServer publishQosServer)
A new publish event (PubSub or PtP) arrives. |
private void |
removeFromBigDom()
Remove Node in big xml dom |
private void |
removeFromBigSubscriptionSet()
Remove myself from big subscription set |
(package private) SubscriptionInfo |
removeSubscriber(java.lang.String subscriptionInfoUniqueKey)
A client wants to unSubscribe from this topic. |
private void |
removeTopicPersistence()
|
void |
setUsageUrl(java.lang.String url)
|
private void |
shutdownMsgDistributorPlugin()
|
void |
startDestroyTimer()
|
private void |
startupHistoryQueue()
Should be invoked delayed as soon as TopicHandler instance is created an registered everywhere as we ask the msgUnitStore for the real messages if some history entries existed. |
private void |
startupMsgstore()
This cache stores the 'real meat' (the MsgUnit data struct) |
static boolean |
subscriberMayReceiveIt(SubscriptionInfo sub,
MsgUnitWrapper msgUnitWrapper)
|
private java.util.ArrayList |
timeout()
|
void |
timeout(java.lang.Object userData)
This timeout occurs after a configured delay (destroyDelay) in UNREFERENCED state |
private void |
toAlive()
|
private java.util.ArrayList |
toDead(SessionName sessionName,
QueryKeyData eraseKey,
EraseQosServer eraseQos)
|
private java.util.ArrayList |
toSoftErased(SessionInfo sessionInfo,
QueryKeyData eraseKey,
EraseQosServer eraseQos)
|
private void |
toUnconfigured()
|
private java.util.ArrayList |
toUnreferenced(boolean onAdministrativeCreate,
boolean fromPersistenceStore)
|
java.lang.String |
toXml()
Dump state of this object into XML. |
java.lang.String |
toXml(java.lang.String extraOffset)
Dump state of this object into XML. |
private java.lang.String[] |
unSubscribe(SessionInfo sessionInfo,
java.lang.String qos)
private helper to unSubscribe |
java.lang.String[] |
unSubscribeAll(java.lang.String qos)
Invoke operation to unSubscribe all clients. |
java.lang.String[] |
unSubscribeByIndex(int index,
java.lang.String qos)
Invoke operation to unSubscribe one client by index of getSubscribers() listed. |
java.lang.String[] |
unSubscribeBySessionName(java.lang.String sessionName,
java.lang.String qos)
Invoke operation to unSubscribe one client by index of getSubscribers() listed. |
java.lang.String |
usage()
JMX |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.lang.String ME
private final ServerScope serverScope
private static java.util.logging.Logger log
private final ContextNode contextNode
private boolean dyingInProgress
private final java.lang.String id
private final RequestBroker requestBroker
private TopicEntry topicEntry
private I_MsgDistributor distributor
private final java.util.Map subscriberMap
private I_Queue historyQueue
private SessionName creatorSessionName
private TopicProperty topicProperty
private I_Map msgUnitCache
private XmlKey xmlKey
private java.lang.String uniqueKey
private MsgKeyData msgKeyData
private boolean handlerIsNewCreated
private boolean isRegisteredInBigXmlDom
private boolean isHistoryHandling
private Timeout destroyTimer
private Timestamp timerKey
public static final int UNDEF
public static final int UNCONFIGURED
public static final int ALIVE
public static final int UNREFERENCED
public static final int SOFT_ERASED
public static final int DEAD
private int state
private I_SubscriptionListener subscriptionListener
private java.lang.Object msgUnitWrapperUnderConstructionMutex
private MsgUnitWrapper msgUnitWrapperUnderConstruction
private QueueQueryPlugin queueQueryPlugin
private JmxMBeanHandle mbeanHandle
private boolean administrativeInitialize
private boolean clientTagLog
Constructor Detail |
---|
public TopicHandler(ServerScope serverScope, SessionInfo publisherSessionInfo, java.lang.String uniqueKey) throws XmlBlasterException
requestBroker
- publisherSessionInfo
- Is null if created by subscriptiona
- MsgUnitWrapper containing the CORBA MsgUnit data container
XmlBlasterException
Method Detail |
---|
protected java.lang.Object clone()
clone
in class java.lang.Object
public java.lang.String getId()
getId
in interface I_AdminTopic
public final ContextNode getContextNode()
private void administrativeInitialize(MsgKeyData msgKeyData, MsgQosData publishQos, PublishQosServer publishQosServer) throws XmlBlasterException
XmlBlasterException
private void startupMsgstore() throws XmlBlasterException
XmlBlasterException
private void startupHistoryQueue() throws XmlBlasterException
NOTE: queue can be null if maxEntries=0 is configured
This history queue entries hold weak references to the msgUnitCache entries
XmlBlasterException
private I_Queue initQueue(I_Queue queue, java.lang.String queueName) throws XmlBlasterException
queue
- the queue instance (if already existing or null otherwise)queueName
- The name to be given as Id to this queue
XmlBlasterException
public boolean getDomTreeExists()
I_AdminTopic
getDomTreeExists
in interface I_AdminTopic
public boolean hasDomTree()
public RequestBroker getRequestBroker()
public final boolean hasXmlKey()
public final boolean getTopicXmlExists()
getTopicXmlExists
in interface I_AdminTopic
public final java.lang.String getTopicXml() throws XmlBlasterException
I_AdminTopic
getTopicXml
in interface I_AdminTopic
XmlBlasterException
public final XmlKey getXmlKey() throws XmlBlasterException
XmlBlasterException
- in state UNCONFIGURED or on DOM parse problemsprivate TopicEntry persistTopicEntry() throws XmlBlasterException
XmlBlasterException
private boolean persistTopic(TopicEntry entry)
private final boolean allowedToReconfigureTopicAndFixWrongLimits(MsgQosData msgQosData)
msgQosData
- The new configuration, can be adjusted by this method if limits are reached
public PublishReturnQos publish(SessionInfo publisherSessionInfo, MsgUnit msgUnit, PublishQosServer publishQosServer) throws XmlBlasterException
publisherSessionInfo
- The publishermsgUnit
- The new messagepublishQosServer
- The decorator for msgUnit.getQosData()
XmlBlasterException
boolean isInMsgStore(MsgUnitWrapper msgUnitWrapper)
private void forwardToDestinations(SessionInfo publisherSessionInfo, MsgUnitWrapper cacheEntry, PublishQosServer publishQos) throws XmlBlasterException
XmlBlasterException
I_Map getMsgUnitCache()
void change(MsgUnitWrapper msgUnitWrapper) throws XmlBlasterException
XmlBlasterException
public MsgUnitWrapper getMsgUnitWrapper(long uniqueId) throws XmlBlasterException
XmlBlasterException
public void entryDestroyed(MsgUnitWrapper msgUnitWrapper)
public final org.w3c.dom.Node getRootNode() throws XmlBlasterException
XmlBlasterException
public void addSubscriber(SubscriptionInfo sub, boolean calleeIsXPathMatchCheck) throws XmlBlasterException
calleeIsXPathMatchCheck
- true The calling thread is internally to check if a Query matches a new published topic
false The callee is a subscribe() thread from a client
XmlBlasterException
public void handleCallbackFailed(java.util.Set removeSet) throws XmlBlasterException
XmlBlasterException
SubscriptionInfo removeSubscriber(java.lang.String subscriptionInfoUniqueKey)
public java.lang.String getUniqueKey()
getUniqueKey
in interface I_AdminTopic
public MsgKeyData getMsgKeyData()
public java.lang.String getContentMime()
getContentMime
in interface I_AdminTopic
public java.lang.String getContentMimeExtended()
I_AdminTopic
getContentMimeExtended
in interface I_AdminTopic
private final void invokeCallbackAndHandleFailure(SessionInfo publisherSessionInfo, MsgUnitWrapper msgUnitWrapper) throws XmlBlasterException
publisherSessionInfo
- The sessionInfo of the publisher or null if not known or not online
XmlBlasterException
private boolean checkIfAllowedToSend(SessionInfo publisherSessionInfo, SubscriptionInfo sub)
publisherSessionInfo
- sub
-
public final boolean checkFilter(SessionInfo publisherSessionInfo, SubscriptionInfo sub, MsgUnitWrapper msgUnitWrapper, boolean handleException) throws XmlBlasterException
publisherSessionInfo
- sub
- msgUnitWrapper
-
XmlBlasterException
- in case an exception happened when checking the filters.
This method handles internally the publishing of dead letters in case of a throwable
and after that it throws this XmlBlasterException to notify the invoked about the
abnormal flow.public static boolean isDirtyRead(SubscriptionInfo sub, MsgUnitWrapper msgUnitWrapper) throws XmlBlasterException
sub
- msgQosData
-
XmlBlasterException
public static final MsgQueueUpdateEntry createEntryFromWrapper(MsgUnitWrapper msgUnitWrapper, SubscriptionInfo sub) throws XmlBlasterException
XmlBlasterException
private final int invokeCallback(SessionInfo publisherSessionInfo, SubscriptionInfo sub, MsgUnitWrapper msgUnitWrapper, boolean doErrorHandling)
publisherSessionInfo
- The sessionInfo of the publisher or null if not known or not onlinesub
- The subscription handle of the client
public final int getNumSubscribers()
I_AdminTopic
getNumSubscribers
in interface I_AdminTopic
public final int numSubscribers()
public final boolean hasSubscribers()
public final SubscriptionInfo[] getSubscriptionInfoArr()
public final boolean getExactSubscribersExist()
getExactSubscribersExist
in interface I_AdminTopic
public final boolean hasExactSubscribers()
public final SubscriptionInfo[] findSubscriber(SessionInfo sessionInfo)
private void clearSubscribers()
public boolean hasHistoryEntries()
public long getNumOfHistoryEntries()
getNumOfHistoryEntries
in interface I_AdminTopic
public boolean hasCacheEntries()
public long getNumOfCacheEntries()
getNumOfCacheEntries
in interface I_AdminTopic
public MsgUnitWrapper[] getMsgUnitWrapperArr(int num, boolean newestFirst) throws XmlBlasterException
num
- Number of entries wanted, not more than size of history queue are returned.newestFirst
- true is the normal case (the latest message is returned first)
XmlBlasterException
public MsgUnit[] getHistoryMsgUnitArr(int num, boolean newestFirst) throws XmlBlasterException
num
- Number of entries wanted, not more than size of history queue are returned.newestFirst
- true is the normal case (the latest message is returned first)
XmlBlasterException
public long eraseFromHistoryQueue(SessionInfo sessionInfo, HistoryQos historyQos) throws XmlBlasterException
sessionInfo
- The user which has called erase()historyQos
- Describes which message instances
XmlBlasterException
- Currently only all history entries can be destroyedpublic boolean isUndef()
public boolean isUnconfigured()
public boolean isAlive()
public boolean isUnreferenced()
public boolean isSoftErased()
public boolean isDead()
private void toUnconfigured()
private void toAlive() throws XmlBlasterException
XmlBlasterException
private void removeTopicPersistence()
private java.util.ArrayList toUnreferenced(boolean onAdministrativeCreate, boolean fromPersistenceStore) throws XmlBlasterException
XmlBlasterException
public void startDestroyTimer()
private java.util.ArrayList toSoftErased(SessionInfo sessionInfo, QueryKeyData eraseKey, EraseQosServer eraseQos)
sessionInfo
- The session which triggered the eraseeraseKey
- The erase requesteraseQos
- The erase requestprivate java.util.ArrayList toDead(SessionName sessionName, QueryKeyData eraseKey, EraseQosServer eraseQos)
sessionName
- The session which triggered this eventeraseKey
- The erase requesteraseQos
- The erase requestprivate void addToBigDom() throws XmlBlasterException
XmlBlasterException
private void removeFromBigDom()
private void notifySubscribersAboutErase(java.util.ArrayList msgSet)
This method may NOT be called from inside a synchronized((TopicHandler)this): The CB worker thread which empties the callback queue may call this TopicHandler.entryDestroyed() which could cause a dead lock.
sessionName
- The session which triggered the eraseprivate java.util.ArrayList collectNotifySubscribersAboutErase(SessionName sessionName, QueryKeyData eraseKey, EraseQosServer eraseQos)
sessionName
- The session which triggered the eraseeraseKey
- Can be null if not known (e.g. for implicit erase after unSubscribe or last message is expired)eraseQos
- Can be null if not known
private void removeFromBigSubscriptionSet()
final void eraseRequest(SessionInfo sessionInfo, QueryKeyData eraseKey, EraseQosServer eraseQos) throws XmlBlasterException
sessionInfo
- The session which wants to eraseeraseKey
- The original EraseKeyeraseQos
-
XmlBlasterException
public final void timeout(java.lang.Object userData)
timeout
in interface I_Timeout
userData
- You get bounced back your userData which you passed
with Timeout.addTimeoutListener()private java.util.ArrayList timeout()
public java.lang.String getStateStr()
I_AdminTopic
getStateStr
in interface I_AdminTopic
public final java.lang.String toXml()
toXml
in interface I_AdminTopic
public final java.lang.String toXml(java.lang.String extraOffset)
Is implemented for dirty reads
extraOffset
- indenting of tags
public I_Queue getHistoryQueue()
public MsgUnit[] getHistoryQueueEntries(java.lang.String querySpec) throws XmlBlasterException
getHistoryQueueEntries
in interface I_AdminTopic
querySpec
- Can be configured to be consuming
XmlBlasterException
private void initMsgDistributorPlugin() throws XmlBlasterException
XmlBlasterException
private void shutdownMsgDistributorPlugin()
public static final boolean subscriberMayReceiveIt(SubscriptionInfo sub, MsgUnitWrapper msgUnitWrapper)
public final I_MsgDistributor getMsgDistributorPlugin()
public final java.lang.String[] getSubscribers()
getSubscribers
in interface I_AdminTopic
public final java.lang.String[] unSubscribeByIndex(int index, java.lang.String qos) throws XmlBlasterException
I_AdminTopic
unSubscribeByIndex
in interface I_AdminTopic
index
- 0 will kill the first listed subscribing client, 1 the second and so forthqos
- The qos XML string (e.g. "" or "XmlBlasterException
public final java.lang.String[] unSubscribeBySessionName(java.lang.String sessionName, java.lang.String qos) throws XmlBlasterException
I_AdminTopic
unSubscribeBySessionName
in interface I_AdminTopic
sessionName
- You can specify a relative name "client/joe/1" or an absolute name "/node/heron/client/joe/1"qos
- The qos XML string (e.g. "" or "XmlBlasterException
private java.lang.String[] unSubscribe(SessionInfo sessionInfo, java.lang.String qos) throws XmlBlasterException
XmlBlasterException
public final java.lang.String[] unSubscribeAll(java.lang.String qos) throws XmlBlasterException
I_AdminTopic
unSubscribeAll
in interface I_AdminTopic
qos
- The qos XML string (e.g. "" or "XmlBlasterException
public java.lang.String[] peekHistoryMessages(int numOfEntries) throws XmlBlasterException
I_AdminTopic
peekHistoryMessages
in interface I_AdminTopic
numOfEntries
- The number of messages to peek, the newest first
XmlBlasterException
public long clearHistoryQueue()
clearHistoryQueue
in interface I_AdminTopic
public java.lang.String[] peekHistoryMessagesToFile(int numOfEntries, java.lang.String path) throws java.lang.Exception
I_AdminTopic
peekHistoryMessagesToFile
in interface I_AdminTopic
numOfEntries
- The number of messages to peek, taken from the frontpath
- The path to dump the messages to, it is automatically created if missing.
java.lang.Exception
public final java.lang.String eraseTopic() throws XmlBlasterException
eraseTopic
in interface I_AdminTopic
XmlBlasterException
public long getDestroyDelay()
getDestroyDelay
in interface I_AdminTopic
public java.lang.String usage()
usage
in interface I_AdminUsage
public java.lang.String getUsageUrl()
getUsageUrl
in interface I_AdminUsage
public void setUsageUrl(java.lang.String url)
setUsageUrl
in interface I_AdminUsage
|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |