private PdxInstance getPdxNewValue(EntryEvent<K, V> event) {
    Boolean initialPdxReadSerialized = cache.getPdxReadSerializedOverride();
    cache.setPdxReadSerializedOverride(true);
    try {
      Object newValue = event.getNewValue();
      if (!(newValue instanceof PdxInstance)) {
        SerializedCacheValue<V> serializedNewValue = event.getSerializedNewValue();
        if (serializedNewValue != null) {
          newValue = serializedNewValue.getDeserializedValue();
        } else {
          newValue = CopyHelper.copy(newValue);
        }
        if (newValue != null && !(newValue instanceof PdxInstance)) {
          String valueClassName = newValue.getClass().getName();
          throw new IllegalArgumentException(getClass().getSimpleName()
              + " only supports PDX values; newValue is " + valueClassName);
        }
      }
      return (PdxInstance) newValue;
    } finally {
      cache.setPdxReadSerializedOverride(initialPdxReadSerialized);
    }
  }
This class provides synchronous write through to a data source using JDBC.

@since Geode 1.4
geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcWriter.java