public abstract class Metaspace
extends java.lang.Object
Space
(system and user spaces)
and the collection of Member
(ActiveSpaces applications and Agents) working collaboratively
to implement those Spaces. A Metaspace instance has a name and a set of transport arguments
associated with it. Multiple independent Metaspace instances can be created in the same
ActiveSpaces application.
A valid Metaspace name must conform to the following rules:
Constructor and Description |
---|
Metaspace() |
Modifier and Type | Method and Description |
---|---|
abstract void |
addRemoteSite(RemoteSiteDef siteDef)
Adds the remote site for metaspace router in suspended mode
|
abstract void |
addRemoteSite(RemoteSiteDef siteDef,
boolean suspended)
Adds the remote site for metaspace router in online mode
|
abstract void |
alterSite(LocalSiteDef localSiteDef)
Alter the local site def object
|
abstract void |
alterSpace(SpaceDef spaceDef)
Alters a user Space definition.
|
abstract void |
authenticateUser(java.lang.String domain,
java.lang.String user,
java.lang.String password) |
abstract void |
beginTransaction()
beginTransaction starts a transaction.
|
abstract Browser |
browse(java.lang.String spaceName,
BrowserDef.BrowserType browserType)
Returns a browser to iterate over the entries in the Space.
|
abstract Browser |
browse(java.lang.String spaceName,
BrowserDef.BrowserType browserType,
BrowserDef browserDef)
Returns a browser to iterate over the entries in the Space.
|
abstract Browser |
browse(java.lang.String spaceName,
BrowserDef.BrowserType browserType,
BrowserDef browserDef,
java.lang.String filter)
Returns a browser to iterate over the entries in the Space that match the specified filter.
|
abstract EventBrowser |
browseEvents(java.lang.String spaceName,
EventBrowserDef eventBrowserDef)
Returns a browser to iterate over the events generated by changes in Space.
|
abstract EventBrowser |
browseEvents(java.lang.String spaceName,
EventBrowserDef eventBrowserDef,
java.lang.String filter)
Returns a browser to iterate over the events generated by changes in Space for tuples that match the specified filter.
|
abstract void |
close()
Frees resources used by the Metaspace object.
|
abstract void |
closeAll()
Frees resources used by the Metaspace object.
|
abstract void |
commitTransaction()
Commits all of the Space operations invoked in this thread since beginTransaction was called.
|
static Metaspace |
connect()
Establishes a default connection to a Metaspace using "ms" as the metaspace name
and default
MemberDef attributes. |
static Metaspace |
connect(java.lang.String name,
MemberDef memberDef)
Establishes connection to metaspace using the metaspace name and
MemberDef specified. |
static Metaspace |
connect(java.lang.String name,
MemberDef memberDef,
LocalSiteDef localSiteDef) |
abstract void |
defineSpace(SpaceDef spaceDef)
Defines a user Space.
|
abstract void |
disconnect()
Deprecated.
This method is deprecated and calls
closeAll() |
abstract void |
dropSpace(java.lang.String spaceName)
Deletes the Space Definitions only if no Members are joined to the space.
|
abstract void |
dropSpace(java.lang.String spaceName,
boolean doClientCheck)
Deletes the Space Definitions only if no Members are joined to the space.
|
abstract LocalSiteDef |
getLocalSiteDef() |
abstract Member |
getMember(java.lang.String memberId)
Get member object through member id or name
|
abstract MemberDef |
getMemberDef()
Returns the metaspace connection definition attributes
|
abstract java.util.Collection<Member> |
getMetaspaceMembers()
Returns the collection of @Member of the metaspace
|
abstract java.util.Collection<Member> |
getMetaspaceRemoteMembers()
Returns the collection of @Member of the metaspace that are connected using remote discovery
|
abstract java.lang.String |
getName()
Returns metaspace name
|
abstract RemoteSiteDef |
getRemoteSiteDef(java.lang.String siteName)
Get remote site def object
|
abstract RemoteSiteDef.SiteRemoteState |
getRemoteSiteRemoteState(java.lang.String siteName)
Get remote state of remote site
|
abstract RemoteSiteDef.SiteState |
getRemoteSiteState(java.lang.String siteName)
Get state of remote site
|
abstract Member |
getSelfMember()
Returns the Member for this Metaspace connection.
|
abstract Space |
getSpace(java.lang.String spaceName)
Returns the space after joining it with role LEECH, if it is not already joined.
|
abstract Space |
getSpace(java.lang.String spaceName,
Member.DistributionRole distributionRole)
Returns the space after joining it, if it is not already joined.
|
abstract Space |
getSpace(java.lang.String spaceName,
SpaceMemberDef spaceMemberDef)
Deprecated.
Use other methods to retrieve Space reference. DataStore can be provided using MemberDef while connecting
to metaspace.
|
abstract SpaceDef |
getSpaceDef(java.lang.String spaceName)
Gets space definition for the given Space name.
|
abstract java.util.Collection<Member> |
getSpaceMembers(java.lang.String spacename)
Returns the collection of @Member of the space
|
abstract java.util.Collection<Member> |
getSpaceRemoteMembers(java.lang.String spacename)
Returns the collection of @Member of the space that are connected using remote discovery
|
abstract SpaceDef.SpaceState |
getSpaceState(java.lang.String spaceName)
Returns the space state of the specified space name
|
abstract java.util.Collection<java.lang.String> |
getUserSpaceNames()
Returns the user space names
|
abstract Listener |
listen(java.lang.String spaceName,
Listener listener)
Returns a listener on a space for receiving event notifications.
|
abstract Listener |
listen(java.lang.String spaceName,
Listener listener,
ListenerDef listenerDef)
Returns a listener on a space for receiving event notifications.
|
abstract Listener |
listen(java.lang.String spaceName,
Listener listener,
ListenerDef listenerDef,
java.lang.String filter)
Returns a listener on a space for receiving event notifications.
|
abstract Listener |
listen(java.lang.String spaceName,
Listener listener,
java.lang.String filter)
Returns a listener on a space for receiving event notifications.
|
abstract Listener |
listenMetaspaceMembers(MetaspaceMemberListener metaspaceMemberListener)
Listen to metaspace membership events
|
abstract Listener |
listenMetaspaceRemoteMembers(MetaspaceRemoteMemberListener remoteMetaspaceMemberListener)
Listen to remote metaspace membership events
|
abstract Listener |
listenRemoteSiteState(SiteStateListener siteStateListener)
Listen to site state updates for all remote sites.
|
abstract Listener |
listenRemoteSiteState(java.lang.String siteName,
SiteStateListener siteStateListener)
Listen to site state updates for a remote site.
|
abstract Listener |
listenSiteDefs(SiteDefListener siteDefListener)
Listen to site definitions.
|
abstract Listener |
listenSpaceDefs(SpaceDefListener spaceDefListener)
Listen to space definitions.
|
abstract Listener |
listenSpaceMembers(SpaceMemberListener spaceMemberListener)
Listen to space membership events
|
abstract Listener |
listenSpaceMembers(java.lang.String spaceName,
SpaceMemberListener spaceMemberListener)
Listen to space membership events
|
abstract Listener |
listenSpaceRemoteMembers(SpaceRemoteMemberListener remoteSpaceMemberListener)
Listen to remote space membership events
|
abstract Listener |
listenSpaceRemoteMembers(java.lang.String spaceName,
SpaceRemoteMemberListener remoteSpaceMemberListener)
Listen to remote space membership events
|
abstract Listener |
listenSpaceState(SpaceStateListener spaceStateListener)
Listen to space state updates for all spaces.
|
abstract Listener |
listenSpaceState(java.lang.String spaceName,
SpaceStateListener spaceStateListener)
Listen to space state updates for specified space name.
|
abstract void |
recover() |
abstract void |
recover(RecoveryOptions recoveryOptions)
If quorum size is specified in
RecoveryOptions this method would be blocking until quorum size is met. |
abstract void |
recoverSpace(java.lang.String spaceName) |
abstract void |
recoverSpace(java.lang.String spaceName,
RecoveryOptions recoveryOptions)
If quorum size is specified in
RecoveryOptions this method would be blocking until quorum size is met. |
abstract Context |
releaseContext()
releaseContext is used to release the Context object from one thread so
that it can be transferred to another thread. |
abstract TransactionId |
releaseTransaction()
Deprecated.
|
abstract void |
removeRemoteSite(java.lang.String siteName)
Removes a remote site by name
|
abstract void |
resume() |
abstract void |
resumeRouting(java.lang.String siteName)
Resume routing
|
abstract void |
resumeSpace(java.lang.String spaceName) |
abstract void |
rollbackTransaction()
Reverses all of the Space operations invoked in this thread since beginTransaction was called.
|
abstract MetaspaceReceiver |
setReceiver(MetaspaceReceiver receiver)
Registers the metaspace receiver implementation for the remote site
|
abstract MetaspaceRouter |
setRouter(MetaspaceRouter router)
Registers the metaspace router implementation for the local site
|
abstract void |
stopListener(Listener listener)
Stops a listener and associated thread that was previously created.
|
abstract void |
stopReceiver(MetaspaceReceiver receiver)
Stops the metaspace receiver for the remote site
|
abstract void |
stopRouter(MetaspaceRouter router)
Stops the metaspace router for the local site
|
abstract void |
suspend() |
abstract void |
suspendRouting(java.lang.String siteName)
Suspend routing for remote site
|
abstract void |
takeContext(Context context)
takeContext replaces the current thread's Context object with the
one provided. |
abstract void |
takeTransaction(TransactionId transactionId)
Deprecated.
|
static java.lang.String |
version()
Retrieves the version of the ActiveSpaces product.
|
public static Metaspace connect() throws ASException
MemberDef
attributes.ASException
- Exception is thrown if
ASCommon.getMetaspace(java.lang.String)
function to get it.
public static Metaspace connect(java.lang.String name, MemberDef memberDef) throws ASException
MemberDef
specified.
A process can not connect twice to the same metaspace. If ahandle to an already connected metaspace is needed
use the ASCommon.getMetaspace(java.lang.String)
function to get it.name
- Name of the metaspace to connectmemberDef
- Connection definition to useASException
- Exception is thrown if connect failspublic static Metaspace connect(java.lang.String name, MemberDef memberDef, LocalSiteDef localSiteDef) throws ASException
ASException
@Deprecated public abstract Space getSpace(java.lang.String spaceName, SpaceMemberDef spaceMemberDef) throws ASException
spaceName
- Name of the spacespaceMemberDef
- SpaceMemberDefASException
- Exception is thrown if space handle cannot be retrievedpublic abstract Space getSpace(java.lang.String spaceName, Member.DistributionRole distributionRole) throws ASException
spaceName
- Name of the SpacedistributionRole
- DistributionRole can be either LEECH or SEEDERASException
- Exception is thrown if space handle cannot be retrievedpublic abstract Space getSpace(java.lang.String spaceName) throws ASException
spaceName
- Name of the spaceASException
- Exception is thrown if space handle cannot be retrievedpublic abstract Browser browse(java.lang.String spaceName, BrowserDef.BrowserType browserType) throws ASException
spaceName
- Name of space to browse entries onbrowserType
- Can be one of GET, TAKE and LOCK as defined in BrowserDef.BrowserType
ASException
- Exception is thrown if browser object cannot be createdBrowser
,
BrowserDef
public abstract Browser browse(java.lang.String spaceName, BrowserDef.BrowserType browserType, BrowserDef browserDef) throws ASException
spaceName
- Name of space to browse entries onbrowserType
- Can be one of GET, TAKE and LOCK as defined in BrowserDef.BrowserType
browserDef
- Browser definitionASException
- Exception is thrown if browser object cannot be createdBrowser
,
BrowserDef
public abstract Browser browse(java.lang.String spaceName, BrowserDef.BrowserType browserType, BrowserDef browserDef, java.lang.String filter) throws ASException
spaceName
- Name of space to browse entries onbrowserType
- Can be one of GET, TAKE and LOCK as defined in BrowserDef.BrowserType
browserDef
- Browser definitionfilter
- A String that can be used to create a Filter
ASException
- Exception is thrown if browser object cannot be createdBrowser
,
BrowserDef
public abstract EventBrowser browseEvents(java.lang.String spaceName, EventBrowserDef eventBrowserDef) throws ASException
spaceName
- Name of space to browse events oneventBrowserDef
- Browser definitionASException
- Exception is thrown if browser object cannot be createdEventBrowser
,
EventBrowserDef
public abstract EventBrowser browseEvents(java.lang.String spaceName, EventBrowserDef eventBrowserDef, java.lang.String filter) throws ASException
spaceName
- Name of space to browse events oneventBrowserDef
- Browser definitionfilter
- A String that can be used to create a Filter
ASException
- Exception is thrown if event browser object cannot be createdEventBrowser
,
EventBrowserDef
public abstract Listener listen(java.lang.String spaceName, Listener listener) throws ASException
spaceName
- Name of space to browse entries onlistener
- The callback listener class which needs to be registeredASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listen(java.lang.String spaceName, Listener listener, ListenerDef listenerDef) throws ASException
spaceName
- Name of space to listen for events onlistener
- The callback listener which needs to be registeredlistenerDef
- ListenerDef can be supplied to specify the distribution and time scopesASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listen(java.lang.String spaceName, Listener listener, java.lang.String filter) throws ASException
spaceName
- Name of space to browse entries onlistener
- The callback listener which needs to be registeredfilter
- A String that can be used to create a Filter
ASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listen(java.lang.String spaceName, Listener listener, ListenerDef listenerDef, java.lang.String filter) throws ASException
spaceName
- Name of space to browse entries onlistener
- The callback listener which needs to be registeredlistenerDef
- ListenerDef can be setup to declare time and entry scopefilter
- A String that can be used to create a Filter
ASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceState(SpaceStateListener spaceStateListener) throws ASException
spaceStateListener
- SpaceStateListener class that implements necessary methodsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceState(java.lang.String spaceName, SpaceStateListener spaceStateListener) throws ASException
spaceStateListener
- SpaceStateListener class that implements necessary methodsspaceName
- Name of the space to listen for state changesASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceDefs(SpaceDefListener spaceDefListener) throws ASException
spaceDefListener
- SpaceDefListener class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenMetaspaceMembers(MetaspaceMemberListener metaspaceMemberListener) throws ASException
metaspaceMemberListener
- MetaspaceMemberListneer class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenMetaspaceRemoteMembers(MetaspaceRemoteMemberListener remoteMetaspaceMemberListener) throws ASException
remoteMetaspaceMemberListener
- RemoteMetaspaceMemberListneer class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceMembers(SpaceMemberListener spaceMemberListener) throws ASException
spaceMemberListener
- SpaceMemberListneer class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceMembers(java.lang.String spaceName, SpaceMemberListener spaceMemberListener) throws ASException
spaceName
- Space name to listen for membership updates onspaceMemberListener
- SpaceMemberListneer class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceRemoteMembers(SpaceRemoteMemberListener remoteSpaceMemberListener) throws ASException
remoteSpaceMemberListener
- RemoteSpaceMemberListneer class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSpaceRemoteMembers(java.lang.String spaceName, SpaceRemoteMemberListener remoteSpaceMemberListener) throws ASException
spaceName
- Space name to listen for membership updates onremoteSpaceMemberListener
- RemoteSpaceMemberListener class that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract void stopListener(Listener listener) throws ASException
listener
- The Listener to be stoppedASException
public abstract void defineSpace(SpaceDef spaceDef) throws ASException
spaceDef
- The Space Definition containing attributes of SpaceASException
- Exception is thrown if space cannot be createdpublic abstract void alterSpace(SpaceDef spaceDef) throws ASException
spaceDef
- The Space Definition containing attributes of SpaceASException
- Exception is thrown if space cannot be alteredpublic abstract void dropSpace(java.lang.String spaceName) throws ASException
spaceName
- The name of the spaceASException
- Exception is thrown if drop space fails (if any members are still joined to it)public abstract void dropSpace(java.lang.String spaceName, boolean doClientCheck) throws ASException
spaceName
- The name of the spacedoClientCheck
- Allow drop to succeed even if there are remote clients connected to the spaceASException
- Exception is thrown if drop space fails (if any members are still joined to it)public abstract SpaceDef getSpaceDef(java.lang.String spaceName) throws ASException
spaceName
- The name of the SpaceASException
- Exception is thrown if space definition cannot be retrievedpublic abstract SpaceDef.SpaceState getSpaceState(java.lang.String spaceName) throws ASException
spaceName
- The name of the SpaceASException
- Exception is thrown if space does not existspublic abstract void recoverSpace(java.lang.String spaceName) throws ASException
spaceName
- Space name to recoverASException
public abstract void recoverSpace(java.lang.String spaceName, RecoveryOptions recoveryOptions) throws ASException
RecoveryOptions
this method would be blocking until quorum size is met.
Once quorum size is reached, recoverSpace method unblocks and recovery is initiated. Refer to space recovery
for more details on recovery process.spaceName
- Space name to recoverrecoveryOptions
- Recovery optionsASException
public abstract void resumeSpace(java.lang.String spaceName) throws ASException
spaceName
- Space name to resumeASException
public abstract void suspend() throws ASException
ASException
public abstract void resume() throws ASException
ASException
public abstract void recover() throws ASException
ASException
public abstract void recover(RecoveryOptions recoveryOptions) throws ASException
RecoveryOptions
this method would be blocking until quorum size is met.
Once quorum size is reached, recover method unblocks and recovery is initiated. Refer to space recovery
for more details on recovery process.recoveryOptions
- Recovery optionsASException
public abstract void disconnect() throws ASException
closeAll()
RuntimeASException
- Calling this function on a Metaspace that is already disconnected will return INVALID_METASPACE.ASException
public abstract void close() throws ASException
RuntimeASException
- Calling this function on a Metaspace that is already disconnected will return INVALID_METASPACE.ASException
public abstract void closeAll() throws ASException
RuntimeASException
- Calling this function on a Metaspace that is already disconnected will return INVALID_METASPACE.ASException
public abstract void beginTransaction() throws ASException
ASException
- Exception is thrown if begin transaction failspublic abstract void commitTransaction() throws ASException
ASException
- Exception is thrown if commit transaction failspublic abstract void rollbackTransaction() throws ASException
ASException
- Exception is thrown if rollback transaction failspublic abstract Context releaseContext() throws ASException
releaseContext
is used to release the Context object from one thread so
that it can be transferred to another thread. The thread's information for locks and
transactions are stored in an intermediate Context object. The other thread calls
(@link Metaspace#takeContext(Context)} to take ownership of the transaction and locks
released by the first thread.
Replaces the deprecated method releaseTransaction()
Context
object to use to transfer ownership of a
transaction and locks to another thread.ASException
- if releaseContext
fails.public abstract void takeContext(Context context) throws ASException
takeContext
replaces the current thread's Context object with the
one provided. If the current thread has existing transactions or locks when
takeContext
is called, that information will be lost.
Replaces the deprecated method takeTransaction(TransactionId)
context
- A Context object from another thread.ASException
- if an error occurs.@Deprecated public abstract TransactionId releaseTransaction() throws ASException
ASException
- Exception is thrown if release transaction fails@Deprecated public abstract void takeTransaction(TransactionId transactionId) throws ASException
transactionId
- Transaction id to pass to this thread contextASException
- Exception is thrown if take transaction failspublic abstract Member getSelfMember()
public abstract Member getMember(java.lang.String memberId) throws ASException
memberId
- Member id or nameASException
public abstract java.util.Collection<Member> getMetaspaceMembers() throws ASException
ASException
public abstract java.util.Collection<Member> getMetaspaceRemoteMembers() throws ASException
ASException
public abstract java.util.Collection<Member> getSpaceMembers(java.lang.String spacename) throws ASException
ASException
public abstract java.util.Collection<Member> getSpaceRemoteMembers(java.lang.String spacename) throws ASException
ASException
public abstract java.util.Collection<java.lang.String> getUserSpaceNames() throws ASException
ASException
public abstract java.lang.String getName()
public abstract MemberDef getMemberDef()
public abstract void authenticateUser(java.lang.String domain, java.lang.String user, java.lang.String password) throws ASSecurityException
ASSecurityException
public abstract MetaspaceRouter setRouter(MetaspaceRouter router) throws ASException
router
- metaspace router implementationASException
public abstract void stopRouter(MetaspaceRouter router) throws ASException
router
- the registered metaspace routerASException
public abstract MetaspaceReceiver setReceiver(MetaspaceReceiver receiver) throws ASException
receiver
- metaspace receiver implementationASException
public abstract void stopReceiver(MetaspaceReceiver receiver) throws ASException
receiver
- the registered metaspace receiverASException
public abstract void addRemoteSite(RemoteSiteDef siteDef) throws ASException
siteDef
- remote site def for metaspace routingASException
public abstract void addRemoteSite(RemoteSiteDef siteDef, boolean suspended) throws ASException
siteDef
- remote site def for metaspace routingsuspended
- starts the remote site in suspended modeASException
public abstract void removeRemoteSite(java.lang.String siteName) throws ASException
siteName
- of the remote siteASException
public abstract LocalSiteDef getLocalSiteDef() throws ASException
ASException
public abstract RemoteSiteDef getRemoteSiteDef(java.lang.String siteName) throws ASException
siteName
- remote site nameASException
public abstract RemoteSiteDef.SiteState getRemoteSiteState(java.lang.String siteName) throws ASException
siteName
- remote site nameASException
public abstract RemoteSiteDef.SiteRemoteState getRemoteSiteRemoteState(java.lang.String siteName) throws ASException
siteName
- remote site nameASException
public abstract Listener listenRemoteSiteState(SiteStateListener siteStateListener) throws ASException
siteStateListener
- SiteStateListener class that implements necessary methodsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenRemoteSiteState(java.lang.String siteName, SiteStateListener siteStateListener) throws ASException
siteStateListener
- SiteStateListener class that implements necessary methodsASException
- Exception is thrown if listener object cannot be createdpublic abstract Listener listenSiteDefs(SiteDefListener siteDefListener) throws ASException
siteDefListener
- that implements necessary callback functionsASException
- Exception is thrown if listener object cannot be createdpublic abstract void alterSite(LocalSiteDef localSiteDef) throws ASException
localSiteDef
- local site defASException
public abstract void suspendRouting(java.lang.String siteName) throws ASException
siteName
- remote site nameASException
public abstract void resumeRouting(java.lang.String siteName) throws ASException
siteName
- remote site nameASException
public static java.lang.String version()
Copyright (c) 2014 Cloud Software Group, Inc. All rights reserved.