Creates a new entry in this region with the specified key and value, passing the callback argument to any cache writers and cache listeners that are invoked in the operation.

Namespace: GemStone.GemFire.Cache.Generic
Assembly:  GemStone.GemFire.Cache (in GemStone.GemFire.Cache.dll)
Version: 3.6.0.0

Syntax

C#
void Add(
	TKey key,
	TValue value,
	Object callbackArg
)
Visual Basic (Declaration)
Sub Add ( _
	key As TKey, _
	value As TValue, _
	callbackArg As Object _
)
Visual C++
void Add (
	TKey key, 
	TValue value, 
	Object^ callbackArg
)

Parameters

key
TKey
The key for which to create the entry in this region. The object is created before the call, and the caller should not deallocate the object.
value
TValue
The value for the new entry, which may be null to indicate that the new entry starts as if it had been locally invalidated.
callbackArg
Object
a custome parameter to pass to the cache writer or cache listener

Remarks

Updates the LastAccessedTime and LastModifiedTime for this region and the entry.

For local region instance - creates a new entry in this region with the specified key and value in the local cache only. For distributed region instance - The new entry is propogated to the java server to which it is connected with.

If remote server put fails throwing back a CacheServerException or security exception, then local put is tried to rollback. However, if the entry has overflowed/evicted/expired then the rollback is aborted since it may be due to a more recent notification or update by another thread.

Exceptions

ExceptionCondition
[!:IllegalArgumentException] if key is null
[!:EntryExistsException] if an entry with this key already exists
[!:CacheWriterException] if CacheWriter aborts the operation
[!:CacheListenerException] if CacheListener throws an exception
[!:CacheServerException] If an exception is received from the Java cache server. Only for Native Client regions.
[!:NotConnectedException] if not connected to a GemFire system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of NotConnectedException is set to NoAvailableLocatorsException.
[!:RegionDestroyedException] if region has been destroyed
System..::TimeoutException if the operation timed out
System..::OutOfMemoryException if there is not enough memory for the new entry

See Also