|
GigaSpaces XAP 7.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.openspaces.core.DefaultGigaSpace
public class DefaultGigaSpace
Default implementation of GigaSpace
. Constructed with IJSpace
,
TransactionProvider
and
ExceptionTranslator
.
Operations are delegated to IJSpace
with transactions acquired using
TransactionProvider
. Any exceptions thrown during the
operations are translated using ExceptionTranslator
.
Allows to set default timeouts for read and take operations and default lease for write operation.
Constructor Summary | |
---|---|
DefaultGigaSpace(IJSpace space,
TransactionProvider txProvider,
ExceptionTranslator exTranslator,
int defaultIsolationLevel)
Constructs a new DefaultGigaSpace implementation. |
Method Summary | ||
---|---|---|
|
asyncRead(Query<T> template)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(Query<T> template,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(Query<T> template,
long timeout)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(Query<T> template,
long timeout,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(Query<T> template,
long timeout,
int modifiers)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(Query<T> template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
int modifiers)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template,
long timeout)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template,
long timeout,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(Query<T> template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
void |
clean()
Cleans this space. |
|
void |
clear(Object template)
Removes the entries that match the specified template and the specified transaction from this space. |
|
int |
count(Object template)
Count any matching entry from the space. |
|
int |
count(Object template,
int modifiers)
Count any matching entry from the space. |
|
|
distExecute(DistributedTask<T,R> task,
AsyncFutureListener<R> listener)
|
|
|
execute(DistributedTask<T,R> task)
Executes the task on all the primary space nodes within the cluster (broadcast). |
|
|
execute(DistributedTask<T,R> task,
AsyncFutureListener<R> listener)
|
|
|
execute(DistributedTask<T,R> task,
Object... routings)
Executes a task on all the nodes that correspond to the list of routing values. |
|
|
execute(Task<T> task)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
AsyncFutureListener<T> listener)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
Object routing)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
Object routing,
AsyncFutureListener<T> listener)
Executes a task on a specific space node. |
|
|
executorBuilder(AsyncResultsReducer<T,R> reducer)
Constructs an executor builder allowing to accumulate different tasks required to be executed into a single execute mechanism with all the results reduced by the reducer provided. |
|
GigaSpace |
getClustered()
Returns a clustered view of the GigaSpace is this is a GigaSpace
that worked directly against a cluster member. |
|
net.jini.core.transaction.Transaction |
getCurrentTransaction()
Returns the current running transaction. |
|
ExceptionTranslator |
getExceptionTranslator()
Returns the exception translator associated with this GigaSpace instance. |
|
int |
getModifiersForIsolationLevel()
Gets the isolation level from the current running transaction (enabling the usage of Spring declarative isolation level settings). |
|
String |
getName()
Returns the name of the giga space. |
|
IJSpace |
getSpace()
Returns the IJSpace used by this GigaSpace implementation to delegate
different space operations. |
|
TransactionProvider |
getTxProvider()
Returns the transaction provider allowing to access the current running transaction. |
|
IteratorBuilder |
iterator()
Returns an iterator builder allowing to configure and create a GSIterator
over the Space. |
|
|
read(Query<T> template)
Read any matching object from the space, blocking until one exists. |
|
|
read(Query<T> template,
long timeout)
Read any matching object from the space, blocking until one exists. |
|
|
read(Query<T> template,
long timeout,
int modifiers)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template,
long timeout)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template,
long timeout,
int modifiers)
Read any matching object from the space, blocking until one exists. |
|
|
readById(Class<T> clazz,
Object id)
Read an object from the space matching its id and the class. |
|
|
readById(Class<T> clazz,
Object id,
Object routing)
Read an object from the space matching its id, the class and the routing value. |
|
|
readById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Read an object from the space matching its id, the class and the routing value. |
|
|
readById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExists(Query<T> template)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(Query<T> template,
long timeout)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(Query<T> template,
long timeout,
int modifiers)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template,
long timeout)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template,
long timeout,
int modifiers)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExistsById(Class<T> clazz,
Object id)
Read an object from the space matching its id and the class. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Read an object from the space matching its id, the class and the routing value. |
|
|
readMultiple(Query<T> template,
int maxEntries)
Read any matching entries from the space. |
|
|
readMultiple(Query<T> template,
int maxEntries,
int modifiers)
Read any matching entries from the space. |
|
|
readMultiple(T template,
int maxEntries)
Read any matching entries from the space. |
|
|
readMultiple(T template,
int maxEntries,
int modifiers)
Read any matching entries from the space. |
|
void |
setDefaultReadTimeout(long defaultReadTimeout)
Sets the default read timeout when executing read(Object) or
readIfExists(Object) operations. |
|
void |
setDefaultTakeTimeout(long defaultTakeTimeout)
Sets the default take timeout when executing take(Object) or
takeIfExists(Object) operations. |
|
void |
setDefaultWriteLease(long defaultWriteLease)
Sets the default write lease when executing write(Object) . |
|
void |
setName(String name)
|
|
Object |
snapshot(Object entry)
The process of serializing an entry for transmission to a JavaSpaces service will be identical if the same entry is used twice. |
|
|
take(Query<T> template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(Query<T> template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(Query<T> template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeById(Class<T> clazz,
Object id)
Take (remove) an object from the space matching its id and the class. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExists(Query<T> template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeIfExists(Query<T> template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeIfExists(T template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeIfExists(T template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeIfExistsById(Class<T> clazz,
Object id)
Take (remove) an object from the space matching its id and the class. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeMultiple(Query<T> template,
int maxEntries)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(Query<T> template,
int maxEntries,
int modifiers)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(T template,
int maxEntries)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(T template,
int maxEntries,
int modifiers)
Takes (removes) all the entries matching the specified template from this space. |
|
String |
toString()
|
|
|
updateMultiple(T[] entries,
long[] leases)
|
|
|
updateMultiple(T[] entries,
long[] leases,
int updateModifiers)
Same as a single update but for a group of entities sharing the same transaction (if any), applied with the same operation modifier (or default Modifiers.NONE ). |
|
|
wrapFuture(AsyncFuture<T> future,
net.jini.core.transaction.Transaction tx)
|
|
|
wrapListener(AsyncFutureListener<T> listener,
net.jini.core.transaction.Transaction tx)
|
|
|
write(T entry)
Writes a new object to the space, returning its LeaseContext . |
|
|
write(T entry,
long lease)
Writes a new object to the space, returning its LeaseContext . |
|
|
write(T entry,
long lease,
long timeout,
int modifiers)
Writes a new object to the space, returning its LeaseContext . |
|
|
writeMultiple(T[] entries)
Writes the specified entries to this space. |
|
|
writeMultiple(T[] entries,
long lease)
Writes the specified entries to this space. |
|
|
writeMultiple(T[] entries,
long lease,
int updateModifiers)
Writes the specified entries to this space. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefaultGigaSpace(IJSpace space, TransactionProvider txProvider, ExceptionTranslator exTranslator, int defaultIsolationLevel)
space
- The space implementation to delegate operations totxProvider
- The transaction provider for declarative transaction ex.exTranslator
- Exception translator to translate low level exceptions into GigaSpaces runtime
exceptiondefaultIsolationLevel
- The default isolation level for read operations without modifiers. Maps to
TransactionDefinition.getIsolationLevel()
levels values.Method Detail |
---|
public void setName(String name)
public String getName()
GigaSpace
getName
in interface GigaSpace
public void setDefaultReadTimeout(long defaultReadTimeout)
read(Object)
or
readIfExists(Object)
operations.
public void setDefaultTakeTimeout(long defaultTakeTimeout)
take(Object)
or
takeIfExists(Object)
operations.
public void setDefaultWriteLease(long defaultWriteLease)
write(Object)
.
public IJSpace getSpace()
GigaSpace
IJSpace
used by this GigaSpace implementation to delegate
different space operations.
Allows to execute space operations that are not exposed by this interface, as well as using it as a parameter to other low level GigaSpace components.
If a transaction object is required for low level operations (as low level operations do not
have declarative transaction ex) the GigaSpace.getTxProvider()
should be used to acquire the
current running transaction.
getSpace
in interface GigaSpace
public GigaSpace getClustered()
GigaSpace
GigaSpace
is this is a GigaSpace
that worked directly against a cluster member. If this is an already clustered view, will
return the same instance.
getClustered
in interface GigaSpace
public TransactionProvider getTxProvider()
GigaSpace
IJSpace
operations that requires explicit
transaction object.
getTxProvider
in interface GigaSpace
public ExceptionTranslator getExceptionTranslator()
GigaSpace
getExceptionTranslator
in interface GigaSpace
public void clean() throws DataAccessException
GigaSpace
clean
in interface GigaSpace
DataAccessException
IServerAdmin.clean()
public void clear(Object template) throws DataAccessException
GigaSpace
If the clear operation conducted without transaction (null as value) it will clear all entries that are not under transaction. Therefore entries under transaction would not be removed from the space.
The clear operation supports inheritance, therefore template class matching objects
and its sub classes matching objects are part of the candidates population
to be removed from the space. You can in fact clean all space objects (that are not under
transaction) by calling: gigaSpace.clear(null)
.
Notice: The clear operation does not remove notify templates i.e. registration for notifications.
clear
in interface GigaSpace
template
- the template to use for matching
DataAccessException
IPojoSpace.clear(Object,net.jini.core.transaction.Transaction)
public int count(Object template) throws DataAccessException
GigaSpace
count
in interface GigaSpace
template
- The template used for matching. Matching is done against the
template with null
fields being wildcards
("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.count(Object,net.jini.core.transaction.Transaction)
public int count(Object template, int modifiers) throws DataAccessException
GigaSpace
Allows to specify modifiers using ReadModifiers
which allows to programmatically control the isolation level this count operation
will be performed under.
count
in interface GigaSpace
template
- The template used for matching. Matching is done against the
template with null
fields being wildcards
("match anything") other fields being values ("match
exactly on the serialized form").modifiers
- one or a union of ReadModifiers
.
DataAccessException
public Object snapshot(Object entry) throws DataAccessException
GigaSpace
The process of serializing an entry for transmission to a JavaSpaces service will
be identical if the same entry is used twice. This is most likely to be an issue with
templates that are used repeatedly to search for entries with read or take. The client-side
implementations of read and take cannot reasonably avoid this duplicated effort, since they
have no efficient way of checking whether the same template is being used without intervening
modification. The snapshot method gives the JavaSpaces service implementor a way to reduce
the impact of repeated use of the same entry. Invoking snapshot with an Entry will return
another Entry object that contains a snapshot of the original entry. Using the returned snapshot
entry is equivalent to using the unmodified original entry in all operations on the same JavaSpaces
service. Modifications to the original entry will not affect the snapshot. You can snapshot a null
template; snapshot may or may not return null given a null template. The entry returned from snapshot
will be guaranteed equivalent to the original unmodified object only when used with the space. Using
the snapshot with any other JavaSpaces service will generate an IllegalArgumentException
unless the
other space can use it because of knowledge about the JavaSpaces service that generated the snapshot.
The snapshot will be a different object from the original, may or may not have the same hash code,
and equals may or may not return true when invoked with the original object, even if the original object
is unmodified. A snapshot is guaranteed to work only within the virtual machine in which it was generated.
If a snapshot is passed to another virtual machine (for example, in a parameter of an RMI call), using
it--even with the same JavaSpaces service--may generate an IllegalArgumentException
.
snapshot
in interface GigaSpace
entry
- The entry to snapshot
DataAccessException
IPojoSpace.snapshot(Object)
public <T> T readById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T read(T template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(T template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> T read(Query<T> template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(Query<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(T template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(Query<T> template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(Query<T> template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(Query<T> template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(Query<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(Query<T> template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> T readIfExistsById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T readIfExists(T template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(T template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IJSpace.readIfExists(net.jini.core.entry.Entry,net.jini.core.transaction.Transaction,long,int)
public <T> T readIfExists(Query<T> template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(Query<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IJSpace.readIfExists(net.jini.core.entry.Entry,net.jini.core.transaction.Transaction,long,int)
public <T> T[] readMultiple(T template, int maxEntries) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(T template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
Overloads GigaSpace.readMultiple(Object,int)
by adding a
modifiers
parameter. Equivalent when called with the default
modifier - ReadModifiers.REPEATABLE_READ
. Modifiers
are used to define the behavior of a read operation.
Another possible modifier is ReadModifiers.THROW_PARTIAL_FAILURE
which The modifier will cause QueryMultiplePartialFailureException
to be thrown when not all of the requested
number of entries are returned and one or more cluster members are not available.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- One or a union of ReadModifiers
.
DataAccessException
IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(Query<T> template, int maxEntries) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(Query<T> template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
Overloads GigaSpace.readMultiple(Object,int)
by adding a
modifiers
parameter. Equivalent when called with the default
modifier - ReadModifiers.REPEATABLE_READ
. Modifiers
are used to define the behavior of a read operation.
Another possible modifier is ReadModifiers.THROW_PARTIAL_FAILURE
which The modifier will cause QueryMultiplePartialFailureException
to be thrown when not all of the requested
number of entries are returned and one or more cluster members are not available.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- One or a union of ReadModifiers
.
DataAccessException
IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T takeById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specfic property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.takeById(Class, Object, Object)
can be used to specify the routing.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T take(T template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> T take(T template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T take(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> T take(Query<T> template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
public <T> T take(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T take(Query<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(Query<T> template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> T takeIfExistsById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.takeById(Class, Object, Object)
can be used to specify the routing.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T takeIfExists(T template) throws DataAccessException
GigaSpace
null
if the timeout expires. Matching and timeouts are
done as in take
, except that blocking in this call is done
only if necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> T takeIfExists(T template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires. Matching and timeouts are
done as in take
, except that blocking in this call is done
only if necessary to wait for transactional state to settle.
takeIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T takeIfExists(Query<T> template) throws DataAccessException
GigaSpace
null
if the timeout expires. Matching and timeouts are
done as in take
, except that blocking in this call is done
only if necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.takeIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T takeIfExists(Query<T> template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires. Matching and timeouts are
done as in take
, except that blocking in this call is done
only if necessary to wait for transactional state to settle.
takeIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
IPojoSpace.takeIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T[] takeMultiple(T template, int maxEntries) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(Query<T> template, int maxEntries) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(T template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
Another possible modifier is ReadModifiers.THROW_PARTIAL_FAILURE
which The modifier will cause QueryMultiplePartialFailureException
to be thrown when not all of the requested
number of entries are returned and one or more cluster members are not available.
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(Query<T> template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
Another possible modifier is ReadModifiers.THROW_PARTIAL_FAILURE
which The modifier will cause QueryMultiplePartialFailureException
to be thrown when not all of the requested
number of entries are returned and one or more cluster members are not available.
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different Query
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> LeaseContext<T> write(T entry) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
The entry will be written using the default lease this interface is configured with
(using the its factory). In order to explicitly define the lease, please use
GigaSpace.write(Object,long)
.
write
in interface GigaSpace
entry
- The entry to write to the space
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T> write(T entry, long lease) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
write
in interface GigaSpace
entry
- The entry to write to the spacelease
- The lease the entry will be written with, in milliseconds.
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T> write(T entry, long lease, long timeout, int modifiers) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
write
in interface GigaSpace
entry
- The entry to write to the spacelease
- The lease the entry will be written with, in milliseconds.
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries) throws DataAccessException
GigaSpace
The entry will be written using the default lease this interface is configured with
(using the its factory). In order to explicitly define the lease, please use
GigaSpace.writeMultiple(Object[],long)
.
writeMultiple
in interface GigaSpace
entries
- The entries to write to the space.
DataAccessException
IPojoSpace.writeMultiple(Object[],net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries, long lease) throws DataAccessException
GigaSpace
writeMultiple
in interface GigaSpace
entries
- The entries to write to the space.lease
- The lease the entry will be written with, in milliseconds.
DataAccessException
IPojoSpace.writeMultiple(Object[],net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries, long lease, int updateModifiers) throws DataAccessException
GigaSpace
'returns'
for possible return values.
writeMultiple
in interface GigaSpace
lease
- the requested lease time, in millisecondsupdateModifiers
- operation modifiers, values from UpdateModifiers
.
Lease
on a successful write, or null
if performed with NoWriteLease attribute.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns:
DataAccessException
public <T> Object[] updateMultiple(T[] entries, long[] leases) throws DataAccessException
updateMultiple
in interface GigaSpace
DataAccessException
public <T> Object[] updateMultiple(T[] entries, long[] leases, int updateModifiers) throws DataAccessException
GigaSpace
Modifiers.NONE
).
The semantics of a single update and a batch update are similar - the return
value for each corresponds to it's cell in the returned array.
see 'returns'
for possible return values.
updateMultiple
in interface GigaSpace
entries
- the array of objects containing the new values,
each entry must contain its UID.leases
- The lease time of the updated objects, 0 means retain the original lease.updateModifiers
- operation modifiers, values from UpdateModifiers
.
null
- if timeout occurred after waiting for a transactional proper matching entry
EntryNotInSpaceException
- in case the entry does not exist
SpaceOptimisticLockingFailureException
- in case updating with non-latest version
UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
null
- if write was successful,
DataAccessException
public IteratorBuilder iterator()
GigaSpace
GSIterator
over the Space.
iterator
in interface GigaSpace
public <T extends Serializable> AsyncFuture<T> execute(Task<T> task)
GigaSpace
SpaceRouting
.
In order to control the routing externally, use GigaSpace.execute(org.openspaces.core.executor.Task, Object)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to execute
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, AsyncFutureListener<T> listener)
GigaSpace
SpaceRouting
.
In order to control the routing externally, use GigaSpace.execute(org.openspaces.core.executor.Task, Object)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executelistener
- A listener to be notified when execution completes
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, Object routing)
GigaSpace
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
In order to control the using the Task itself, use GigaSpace.execute(org.openspaces.core.executor.Task)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executerouting
- The routing value that will control on which node the task will be executed on
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, Object routing, AsyncFutureListener<T> listener)
GigaSpace
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
In order to control the using the Task itself, use GigaSpace.execute(org.openspaces.core.executor.Task)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executerouting
- The routing value that will control on which node the task will be executed onlistener
- A listener to be notified when execution completes
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task, Object... routings)
GigaSpace
AsyncResultsReducer.reduce(java.util.List)
operation.
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
The task can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The future actual result will be the reduced result of the execution, or the exception thrown during during the reduce operation. The moderator can be used as a mechanism to listen for results as they arrive.
The last parameter can be of type AsyncFutureListener
which, this case,
it will be used to register a listener to be notified of the result.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executeroutings
- A list of routing values, each resulting in an execution of the task on the space node
it corresponds to
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task)
GigaSpace
AsyncResultsReducer.reduce(java.util.List)
operation.
The task can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The future actual result will be the reduced result of the execution, or the exception thrown during during the reduce operation. The moderator can be used as a mechanism to listen for results as they arrive.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to execute
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task, AsyncFutureListener<R> listener)
public <T extends Serializable,R> AsyncFuture<R> distExecute(DistributedTask<T,R> task, AsyncFutureListener<R> listener)
public <T extends Serializable,R> ExecutorBuilder<T,R> executorBuilder(AsyncResultsReducer<T,R> reducer)
GigaSpace
The reducer can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource
annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
executorBuilder
in interface GigaSpace
reducer
- The reducer to reduce the results of all the different tasks added.
public net.jini.core.transaction.Transaction getCurrentTransaction()
GigaSpace
null
if no transaction is in progress.
getCurrentTransaction
in interface GigaSpace
public int getModifiersForIsolationLevel()
TransactionDefinition.ISOLATION_DEFAULT
will use the
default isolation level associated with this class.
getModifiersForIsolationLevel
in interface GigaSpace
public String toString()
toString
in class Object
public <T> AsyncFutureListener<T> wrapListener(AsyncFutureListener<T> listener, net.jini.core.transaction.Transaction tx)
public <T> AsyncFuture<T> wrapFuture(AsyncFuture<T> future, net.jini.core.transaction.Transaction tx)
wrapFuture
in interface org.openspaces.core.internal.InternalGigaSpace
|
GigaSpaces XAP 7.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |