From 944f7bd086a45c3eff645d59b9949cb22253baeb Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Thu, 7 Jan 2016 16:45:24 +1300 Subject: [PATCH] #520 - SPI - Deprecate SpiEbeanPlugin in favor of SpiServerPlugin. - Add ServiceLoading for SpiServerPlugin --- .../ebeaninternal/server/core/InternalConfiguration.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/InternalConfiguration.java b/src/main/java/com/avaje/ebeaninternal/server/core/InternalConfiguration.java index 1eff41bc6..87dd3109d 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/InternalConfiguration.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/InternalConfiguration.java @@ -54,6 +54,7 @@ import javax.sql.DataSource; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.ServiceLoader; /** * Used to extend the ServerConfig with additional objects used to configure and @@ -165,6 +166,14 @@ public class InternalConfiguration { * Return the list of plugins we collected during construction. */ public List getPlugins() { + + // find additional plugins via ServiceLoader ... + for (SpiServerPlugin plugin : ServiceLoader.load(SpiServerPlugin.class)) { + if (!plugins.contains(plugin)) { + plugins.add(plugin); + } + } + return plugins; }