Uploaded image for project: 'Spring Data Geode'
  1. Spring Data Geode
  2. DATAGEODE-327

Support configuring (client) SocketFactory, primarily for SNI support

    XMLWordPrintable

    Details

      Description

      Background

      The Geode Java client recently added support for configuring an SNI (TLS) proxy. The way proxy support is configured is pretty open-ended. Rather than merely adding data configuration for host+port, the community opted for a more general-purpose capability.

      The RFC[1] describes two new Geode APIs:

      • ClientCacheFactory.setPoolSocketFactory(SocketFactory socketFactory)
      • PoolFactory.setSocketFactory(SocketFactory socketFactory)

      These both take a reference to the new SocketFactory interface. An implementation of that interface, that implements SNI support in the Java client, is now part of Geode. Here's that static factory method:

      • SocketFactory ProxySocketFactories.sni(String hostname, int port)

      Support for this new feature is on the develop branch of the geode repository. Release of the feature is expected in the 1.13 Geode release. ClientSNIAcceptanceTest demonstrates some of this new API[2]

      New Spring Data Geode Feature

      Spring Data Geode will provide a documented mechanism for configuring an SNI proxy using these APIs. It will also provide a mechanism for configuring other (e.g. user-defined) SocketFactory implementations.

      [1] RFC Client side configuration for a SNI proxy https://cwiki.apache.org/confluence/display/GEODE/Client+side+configuration+for+a+SNI+proxy

      [2] ClientSNIAcceptanceTest.java https://github.com/apache/geode/blob/develop/geode-assembly/src/acceptanceTest/java/org/apache/geode/client/sni/ClientSNIAcceptanceTest.java

        Attachments

          Activity

            People

            Assignee:
            jblum John Blum
            Reporter:
            bill Bill
            Last updater:
            Mark Paluch
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: