Package org.apache.geode.connectors.jdbc
Class JdbcWriter<K,V>
java.lang.Object
org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback
org.apache.geode.connectors.jdbc.JdbcWriter<K,V>
- All Implemented Interfaces:
CacheCallback,CacheWriter<K,,V> Declarable
@Experimental
public class JdbcWriter<K,V>
extends org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback
implements CacheWriter<K,V>
This class provides synchronous write through to a data source using JDBC.
- Since:
- Geode 1.4
-
Field Summary
Fields inherited from class org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback
cache -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbeforeCreate(EntryEvent<K, V> event) Called before an entry is created.voidbeforeDestroy(EntryEvent<K, V> event) Called before an entry is destroyed.voidbeforeRegionClear(RegionEvent<K, V> event) Called before a region is cleared.voidbeforeRegionDestroy(RegionEvent<K, V> event) Called before a region is destroyed.voidbeforeUpdate(EntryEvent<K, V> event) Called before an entry is updated.Methods inherited from class org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback
checkInitialized, eventCanBeIgnored, getSqlHandlerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.geode.cache.CacheCallback
closeMethods inherited from interface org.apache.geode.cache.Declarable
init, initialize
-
Constructor Details
-
JdbcWriter
public JdbcWriter()
-
-
Method Details
-
beforeUpdate
Description copied from interface:CacheWriterCalled before an entry is updated. The entry update is initiated by aputor agetthat causes the loader to update an existing entry. The entry previously existed in the cache where the operation was initiated, although the old value may have been null. The entry being updated may or may not exist in the local cache where the CacheWriter is installed.- Specified by:
beforeUpdatein interfaceCacheWriter<K,V> - Parameters:
event- an EntryEvent that provides information about the operation in progress- Throws:
CacheWriterException- if thrown will abort the operation in progress, and the exception will be propagated back to caller that initiated the operation- See Also:
-
beforeCreate
Description copied from interface:CacheWriterCalled before an entry is created. Entry creation is initiated by acreate, aput, or aget. TheCacheWritercan determine whether this value comes from agetor not by evaluating theOperation'sOperation.isLoad()method. The entry being created may already exist in the local cache where thisCacheWriteris installed, but it does not yet exist in the cache where the operation was initiated.- Specified by:
beforeCreatein interfaceCacheWriter<K,V> - Parameters:
event- an EntryEvent that provides information about the operation in progress- Throws:
CacheWriterException- if thrown will abort the operation in progress, and the exception will be propagated back to caller that initiated the operation- See Also:
-
beforeDestroy
Description copied from interface:CacheWriterCalled before an entry is destroyed. The entry being destroyed may or may not exist in the local cache where the CacheWriter is installed. This method is not called as a result of expiration orRegion.localDestroy(Object).- Specified by:
beforeDestroyin interfaceCacheWriter<K,V> - Parameters:
event- an EntryEvent that provides information about the operation in progress- Throws:
CacheWriterException- if thrown will abort the operation in progress, and the exception will be propagated back to caller that initiated the operation- See Also:
-
beforeRegionDestroy
Description copied from interface:CacheWriterCalled before a region is destroyed. TheCacheWriterwill not additionally be called for each entry that is destroyed in the region as a result of a region destroy. If the region's subregions haveCacheWriters installed, then they will be called for the cascading subregion destroys. This method is not called as a result ofRegion.close(),Cache.close(boolean), orRegion.localDestroyRegion(). However, theRegion.close()method is invoked regardless of whether a region is destroyed locally. A non-local region destroy results in an invocation of this method is followed by an invocation ofRegion.close().WARNING: This method should not destroy or create any regions itself or a deadlock will occur.
- Specified by:
beforeRegionDestroyin interfaceCacheWriter<K,V> - Parameters:
event- a RegionEvent that provides information about the operation- Throws:
CacheWriterException- if thrown, will abort the operation in progress, and the exception will be propagated back to the caller that initiated the operation- See Also:
-
beforeRegionClear
Description copied from interface:CacheWriterCalled before a region is cleared. TheCacheWriterwill not additionally be called for each entry that is cleared in the region as a result of a region clear.WARNING: This method should not clear/destroy any regions
- Specified by:
beforeRegionClearin interfaceCacheWriter<K,V> - Parameters:
event- a RegionEvent that provides information about the operation- Throws:
CacheWriterException- if thrown, will abort the operation in progress, and the exception will be propagated back to the caller that initiated the operation- See Also:
-