geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (GEODE-1025) Remove compile dependency on spring data gemfire/geode
Date Fri, 11 Mar 2016 19:22:38 GMT


ASF subversion and git services commented on GEODE-1025:

Commit 7734781f9ada7a7dc660cdcea46126b6129c0e70 in incubator-geode's branch refs/heads/develop
from [~upthewaterspout]
[;h=7734781 ]

GEODE-1025: Replacing direct dependency on spring data gemfire with an SPI

Removing the direct use of Spring Data Gemfire from within the geode
code. Replacing it with a SPI that allows the user to override the
behavior of ServerLauncher.start with their own implementation that
creates a cache.

Spring Data Gemfire can provide an implementation that bootstraps the
cache using spring, if spring-xml-location is specified.

Users should implement ServerLauncherCacheProvider. The cache will be
created by the first provider that returns a non null cache. If no
providers create a cache, the cache will be created by the
ServerLauncher itself.

It would be nice to move the spring-xml-location parameter itself into
the interface, but this is hard to do because gfsh determines the
parameters to start-server by looking at the arguments in the command
class. So I left spring-xml-location alone.

> Remove compile dependency on spring data gemfire/geode
> ------------------------------------------------------
>                 Key: GEODE-1025
>                 URL:
>             Project: Geode
>          Issue Type: Improvement
>          Components: build
>            Reporter: Dan Smith
>            Assignee: Dan Smith
> We have a compile dependency on spring data gemfire in the ServerLauncher class to support
launching a server using a spring data gemfire configuration instead of a cache.xml file.
> That's a good feature to have, but it should be part of spring data gemfire, not geode.
Because of this compile dependency on SDG, we currently have a circular dependency on SDG
-> Geode -> SDG. That makes it difficult to do things like rename packages in geode
(GEODE-37) because SDG is still using the old packages.
> Instead of directly depending on spring data gemfire, we should provide an extension
point that SDG can plug into to override the cache server startup behavior.
> The easiest place way to do this is just to use the java ServiceLoader mechanism. We
can provide an interface for a plugin that replaces startup behavior of the server. SDG can
provide an implementation of this interface.

This message was sent by Atlassian JIRA

View raw message