Merge pull request #107 from dengliming/patch-1

Remove deprecated sudo setting.
diff --git a/README.md b/README.md
index 410a0b7..f716c58 100644
--- a/README.md
+++ b/README.md
@@ -18,11 +18,11 @@
 Note that Apache DeltaSpike is **not** a CDI container itself, but a set of portable Extensions for it!
 
 
-Some of key features of Apache DeltaSpike include:
+Some of the key features of Apache DeltaSpike include:
 
 - A core module that supports component configuration, type safe messaging and internationalization, and exception handling.
 - A suite of utilities to make programmatic bean lookup easier.
-- A plugin for Java SE to bootstrap both JBoss Weld, Apache OpenWebBeans and other CDI containers outside of a a JavaEE server.
+- A plugin for Java SE to bootstrap both JBoss Weld, Apache OpenWebBeans and other CDI containers outside of a JavaEE server.
 - JSF integration, including backporting of JSF 2.2 features for Java EE 6.
 - JPA integration and transaction support.
 - A Data module, to create an easy to use repository pattern on top of JPA.
@@ -40,4 +40,4 @@
 - JDK 8
 - Maven
 
-Just run `mvn clean install` from the top level directory, `deltaspike` to build the source code.
\ No newline at end of file
+Just run `mvn clean install` from the top level directory, `deltaspike` to build the source code.
diff --git a/deltaspike/cdictrl/api/pom.xml b/deltaspike/cdictrl/api/pom.xml
index 4067066..3ce24f3 100644
--- a/deltaspike/cdictrl/api/pom.xml
+++ b/deltaspike/cdictrl/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/impl-openejb/pom.xml b/deltaspike/cdictrl/impl-openejb/pom.xml
index 64d5ce4..571c10e 100644
--- a/deltaspike/cdictrl/impl-openejb/pom.xml
+++ b/deltaspike/cdictrl/impl-openejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/impl-owb/pom.xml b/deltaspike/cdictrl/impl-owb/pom.xml
index 77d6bcf..7ea3fcc 100644
--- a/deltaspike/cdictrl/impl-owb/pom.xml
+++ b/deltaspike/cdictrl/impl-owb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/impl-weld/pom.xml b/deltaspike/cdictrl/impl-weld/pom.xml
index 52c7dc5..6523709 100644
--- a/deltaspike/cdictrl/impl-weld/pom.xml
+++ b/deltaspike/cdictrl/impl-weld/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/pom.xml b/deltaspike/cdictrl/pom.xml
index b40ad1a..8a3d3fe 100644
--- a/deltaspike/cdictrl/pom.xml
+++ b/deltaspike/cdictrl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent-code</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../parent/code/pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/servlet/pom.xml b/deltaspike/cdictrl/servlet/pom.xml
index 4b20851..fe6db94 100644
--- a/deltaspike/cdictrl/servlet/pom.xml
+++ b/deltaspike/cdictrl/servlet/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/cdictrl/tck/pom.xml b/deltaspike/cdictrl/tck/pom.xml
index 04a4fe3..0627dfb 100644
--- a/deltaspike/cdictrl/tck/pom.xml
+++ b/deltaspike/cdictrl/tck/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.deltaspike.cdictrl</groupId>
         <artifactId>cdictrl-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/checkstyle-rules/pom.xml b/deltaspike/checkstyle-rules/pom.xml
index 5ac4d73..1c3d47f 100644
--- a/deltaspike/checkstyle-rules/pom.xml
+++ b/deltaspike/checkstyle-rules/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/core/api/pom.xml b/deltaspike/core/api/pom.xml
index 475411f..3c557f4 100644
--- a/deltaspike/core/api/pom.xml
+++ b/deltaspike/core/api/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike.core</groupId>
         <artifactId>core-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/base/CoreBaseConfig.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/base/CoreBaseConfig.java
index e988f57..313bb9b 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/base/CoreBaseConfig.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/base/CoreBaseConfig.java
@@ -26,6 +26,11 @@
 {
     interface BeanManagerIntegration
     {
+        /**
+         * Whether to use CDI.current() if available.
+         * This might fail in some CDI containers in some situations.
+         * Try switching to 'false' to enforce the 'old' DeltaSpike BeanManager lookup.
+         */
         Boolean DELEGATE_LOOKUP =
                 ConfigResolver.resolve("deltaspike.bean-manager.delegate_lookup")
                         .as(Boolean.class)
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanManagerProvider.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanManagerProvider.java
index 117f13f..5897b59 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanManagerProvider.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanManagerProvider.java
@@ -186,7 +186,8 @@
         setBeanManagerProvider(this);
 
         // CDI#current delegation enabled, skip everything
-        if (CDI_CURRENT_METHOD != null && CDI_CURRENT_BEAN_MANAGER_METHOD != null)
+        if (CDI_CURRENT_METHOD != null && CDI_CURRENT_BEAN_MANAGER_METHOD != null &&
+            resolveBeanManagerViaStaticHelper() != null)
         {
             return;
         }
@@ -208,7 +209,11 @@
         // CDI#current delegation enabled, skip everything
         if (CDI_CURRENT_METHOD != null && CDI_CURRENT_BEAN_MANAGER_METHOD != null)
         {
-            return resolveBeanManagerViaStaticHelper();
+            BeanManager bm = resolveBeanManagerViaStaticHelper();
+            if (bm != null)
+            {
+                return bm;
+            }
         }
 
         BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null));
@@ -274,7 +279,8 @@
     public void cleanupFinalBeanManagers(@Observes AfterDeploymentValidation adv)
     {
         // CDI#current delegation enabled, skip everything
-        if (CDI_CURRENT_METHOD != null && CDI_CURRENT_BEAN_MANAGER_METHOD != null)
+        if (CDI_CURRENT_METHOD != null && CDI_CURRENT_BEAN_MANAGER_METHOD != null &&
+            resolveBeanManagerViaStaticHelper() != null)
         {
             return;
         }
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ClassDeactivationUtils.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ClassDeactivationUtils.java
index 3f6477d..b6555e7 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ClassDeactivationUtils.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ClassDeactivationUtils.java
@@ -64,6 +64,17 @@
     }
 
     /**
+     * Flush the caches to prevent ClassLoader leaks.
+     * This is called internally by DeltaSpike.
+     * Users do not have to explicitly call this method.
+     * Does not have side effects as the cache is idempotent anyway.
+     */
+    public static void clearCache()
+    {
+        classDeactivatorMap.clear();
+    }
+
+    /**
      * Evaluates if the given {@link Deactivatable} is active.
      *
      * @param targetClass {@link Deactivatable} under test.
diff --git a/deltaspike/core/impl/pom.xml b/deltaspike/core/impl/pom.xml
index 1da9ff2..552533f 100644
--- a/deltaspike/core/impl/pom.xml
+++ b/deltaspike/core/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.core</groupId>
         <artifactId>core-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/ConfigurationExtension.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/ConfigurationExtension.java
index 164dc16..3b7fcad 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/ConfigurationExtension.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/ConfigurationExtension.java
@@ -386,6 +386,9 @@
 
         ConfigResolver.freeConfigSources();
         detectedParentPropertyFileConfigs.remove(ClassUtils.getClassLoader(null));
+
+        // we also free the ClassDeactivationUtils cache
+        ClassDeactivationUtils.clearCache();
     }
 
     /**
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertiesConfigSource.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertiesConfigSource.java
index a2749d8..142d8b7 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertiesConfigSource.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertiesConfigSource.java
@@ -23,7 +23,7 @@
 import java.util.Properties;
 
 /**
- * Base class for configuration sources based on {@link Properties} object.
+ * Base class for configuration sources based on a fixed {@link Properties} object.
  */
 public abstract class PropertiesConfigSource extends BaseConfigSource
 {
@@ -50,7 +50,7 @@
     @Override
     public Map<String, String> getProperties()
     {
-        Map<String,String> result = new HashMap<String, String>();
+        Map<String,String> result = new HashMap<String, String>(properties.size());
         for (String propertyName : properties.stringPropertyNames())
         {
             result.put(propertyName, properties.getProperty(propertyName));
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertyFileConfigSource.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertyFileConfigSource.java
index 5f15c6f..d549ab6 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertyFileConfigSource.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/PropertyFileConfigSource.java
@@ -19,30 +19,248 @@
 package org.apache.deltaspike.core.impl.config;
 
 import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.time.Instant;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Consumer;
+import java.util.logging.Level;
 
+import org.apache.deltaspike.core.api.config.ConfigResolver;
 import org.apache.deltaspike.core.util.PropertyFileUtils;
 
 /**
  * {@link org.apache.deltaspike.core.spi.config.ConfigSource} which uses
- * <i>META-INF/apache-deltaspike.properties</i> for the lookup
+ * a fixed property file for the lookup.
+ *
+ * If the property file has a 'file://' protocol, we are able to pick up
+ * changes during runtime when the underlying property file changes.
+ * This does not make sense for property files in JARs, but makes perfect sense
+ * whenever a property file URL is directly on the file system.
  */
-class PropertyFileConfigSource extends PropertiesConfigSource
+public class PropertyFileConfigSource extends BaseConfigSource
 {
-    private String fileName;
+    /**
+     * The name of a property which can be defined inside the property file
+     * to define the amount of seconds after which the property file should
+     * be tested for changes again.
+     * Note that the test is performed by storing the lastChanged attribute of the
+     * underlying file.
+     *
+     * By default the time after which we look for changes is {@link #RELOAD_PERIOD_DEFAULT}.
+     * This can be changed by explicitly adding a property with the name defined in {@link #RELOAD_PERIOD}
+     * which contains the number of seconds after which we try to reload again.
+     * A zero or negative value means no dynamic reloading.
+     * <pre>
+     * # look for changes after 60 seconds
+     * deltaspike_reload=60
+     * </pre>
+     * Whether the file got changed is determined by the lastModifiedDate of the underlying file.
+     * <p>
+     * You can disable the whole reloading with a negative reload time, e.g.
+     * <pre>
+     * deltaspike_reload=-1
+     * </pre>
+     */
+    public static final String RELOAD_PERIOD = "deltaspike_reload";
+    public static final int RELOAD_PERIOD_DEFAULT = 300;
 
-    PropertyFileConfigSource(URL propertyFileUrl)
+    private final ConfigResolver.ConfigHelper configHelper;
+
+    /**
+     * currently loaded config properties.
+     */
+    private Map<String, String> properties;
+
+    private final URL propertyFileUrl;
+    private String filePath;
+
+    private int reloadAllSeconds = RELOAD_PERIOD_DEFAULT;
+    private Instant fileLastModified = null;
+
+    /**
+     * Reload after that time in seconds.
+     */
+    private int reloadAfterSec;
+
+    private Consumer<Set<String>> reportAttributeChange;
+
+    public PropertyFileConfigSource(URL propertyFileUrl)
     {
-        super(PropertyFileUtils.loadProperties(propertyFileUrl));
-        fileName = propertyFileUrl.toExternalForm();
+        this.propertyFileUrl = propertyFileUrl;
+        filePath = propertyFileUrl.toExternalForm();
+
+        this.properties = toMap(PropertyFileUtils.loadProperties(propertyFileUrl));
+
+        if (isFile(propertyFileUrl))
+        {
+
+            calculateReloadTime();
+            if (reloadAllSeconds < 0 )
+            {
+                configHelper = null;
+            }
+            else
+            {
+                fileLastModified = getLastModified();
+                configHelper = ConfigResolver.getConfigProvider().getHelper();
+                reloadAfterSec = getNowSeconds() + reloadAllSeconds;
+            }
+        }
+        else
+        {
+            configHelper = null;
+        }
+
         initOrdinal(100);
     }
 
+    private void calculateReloadTime()
+    {
+        final String reloadPeriod = properties.get(RELOAD_PERIOD);
+        if (reloadPeriod != null)
+        {
+            try
+            {
+                int reload = Integer.parseInt(reloadPeriod);
+                if (reload < 0)
+                {
+                    fileLastModified = null;
+                    log.info("Disable dynamic reloading for ConfigSource " + filePath);
+                }
+                else
+                {
+                    reloadAllSeconds = reload;
+                }
+            }
+            catch (NumberFormatException nfe)
+            {
+                log.warning("Wrong value for " + RELOAD_PERIOD + " property: " + reloadPeriod +
+                    ". Must be numeric in seconds. Using default " + RELOAD_PERIOD_DEFAULT);
+                reloadAllSeconds = RELOAD_PERIOD_DEFAULT;
+            }
+        }
+    }
+
+    protected Map<String, String> toMap(Properties properties)
+    {
+        Map<String,String> result = new HashMap<>(properties.size());
+        for (String propertyName : properties.stringPropertyNames())
+        {
+            result.put(propertyName, properties.getProperty(propertyName));
+        }
+
+        return Collections.unmodifiableMap(result);
+    }
+
+    @Override
+    public Map<String, String> getProperties()
+    {
+        if (needsReload())
+        {
+            reloadProperties();
+        }
+
+        return properties;
+    }
+
+    @Override
+    public String getPropertyValue(String key)
+    {
+        if (needsReload())
+        {
+            reloadProperties();
+        }
+
+        return properties.get(key);
+    }
+
+    private boolean needsReload()
+    {
+        if (fileLastModified != null && getNowSeconds() > reloadAfterSec)
+        {
+            final Instant newLastModified = getLastModified();
+            if (newLastModified != null && newLastModified.isAfter(fileLastModified))
+            {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    private synchronized void reloadProperties()
+    {
+        // another thread might have already updated the properties.
+        if (needsReload())
+        {
+            final Map<String, String> newProps = toMap(PropertyFileUtils.loadProperties(propertyFileUrl));
+
+            final Set<String> modfiedAttributes = configHelper.diffConfig(properties, newProps);
+            if (!modfiedAttributes.isEmpty())
+            {
+                reportAttributeChange.accept(modfiedAttributes);
+            }
+
+            this.properties = newProps;
+
+            fileLastModified = getLastModified();
+
+            calculateReloadTime();
+            reloadAfterSec = getNowSeconds() + reloadAllSeconds;
+        }
+    }
+
+    private int getNowSeconds()
+    {
+        // this might overrun all 100 years or so.
+        // I think we can live with a faster reload all 100 years
+        // if we can spare needing to deal with atomic updates ;)
+        return (int) TimeUnit.NANOSECONDS.toSeconds(System.nanoTime());
+    }
+
+    private Instant getLastModified()
+    {
+        try
+        {
+            return Files.getLastModifiedTime(Paths.get(propertyFileUrl.toURI())).toInstant();
+        }
+        catch (Exception e)
+        {
+            log.log(Level.WARNING,
+                "Cannot dynamically reload property file {0}. Not able to read last modified date", filePath);
+            return null;
+        }
+    }
+
+    private boolean isFile(URL propertyFileUrl)
+    {
+        return "file".equalsIgnoreCase(propertyFileUrl.getProtocol());
+    }
+
     /**
      * {@inheritDoc}
      */
     @Override
     public String getConfigName()
     {
-        return fileName;
+        return filePath;
+    }
+
+    @Override
+    public void setOnAttributeChange(Consumer<Set<String>> reportAttributeChange)
+    {
+        this.reportAttributeChange = reportAttributeChange;
+    }
+
+    @Override
+    public boolean isScannable()
+    {
+        return true;
     }
 }
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
index cd981cf..8997a1e 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
@@ -550,14 +550,23 @@
                 break;
             }
 
-            String variableValue = new TypedResolverImpl<String>(this.config, varName)
+            try
+            {
+                String variableValue = new TypedResolverImpl<String>(this.config, varName)
                     .withCurrentProjectStage(this.projectStageAware)
                     .evaluateVariables(true)
                     .getValue();
 
-            if (variableValue != null)
+                if (variableValue != null)
+                {
+                    value = value.replace("${" + varName + "}", variableValue);
+                }
+            }
+            catch (StackOverflowError soe)
             {
-                value = value.replace("${" + varName + "}", variableValue);
+                // just log out
+                LOG.severe("Recursive variable resolution detected for " + varName);
+                throw soe;
             }
             startVar++;
         }
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/HandlerMethodStorageImpl.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/HandlerMethodStorageImpl.java
index 82c8981..6abdbef 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/HandlerMethodStorageImpl.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/HandlerMethodStorageImpl.java
@@ -44,7 +44,7 @@
 {
     private final Map<Type, Collection<HandlerMethod<? extends Throwable>>> allHandlers;
 
-    private Logger log = Logger.getLogger(HandlerMethodStorageImpl.class.toString());
+    private Logger log = Logger.getLogger(HandlerMethodStorageImpl.class.getName());
 
     HandlerMethodStorageImpl(Map<Type, Collection<HandlerMethod<? extends Throwable>>> allHandlers)
     {
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeEarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeEarFileTest.java
index 340f721..73cd515 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeEarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeEarFileTest.java
@@ -19,10 +19,13 @@
 package org.apache.deltaspike.test.core.api.alternative.local;
 
 import org.apache.deltaspike.test.category.EnterpriseArchiveProfileCategory;
+import org.apache.deltaspike.test.util.ArchiveUtils;
 import org.jboss.arquillian.container.test.api.Deployment;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
@@ -30,6 +33,10 @@
 @Category(EnterpriseArchiveProfileCategory.class)
 public class BdaAlternativeEarFileTest extends BdaAlternativeTest
 {
+    public static final String CONFIG = "deltaspike.bean-manager.delegate_lookup=false\n" // Weld3 bug :(
+        + "globalAlternatives.org.apache.deltaspike.test.core.api.alternative.local.BaseBean2="
+        + "org.apache.deltaspike.test.core.api.alternative.local.SubBaseBean2";
+
     @Deployment
     public static EnterpriseArchive deployEar()
     {
@@ -37,7 +44,13 @@
         String simpleName = BdaAlternativeWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
 
+        JavaArchive globalAlternativeConfigJar = ShrinkWrap.create(JavaArchive.class, "globalAlternativesConfig.jar")
+            .addAsManifestResource(new StringAsset(CONFIG),
+                "apache-deltaspike.properties");
+
+
         return ShrinkWrap.create(EnterpriseArchive.class, archiveName + ".ear")
-                .addAsModule(BdaAlternativeWarFileTest.deploy());
+            .addAsLibrary(globalAlternativeConfigJar)
+            .addAsModule(BdaAlternativeWarFileTest.deploy());
     }
 }
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeTest.java
index 3a409ff..05b0b6c 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeTest.java
@@ -42,10 +42,8 @@
     @Test
     public void alternativeImplementationWithClassAsBaseType()
     {
-        List<BaseBean2> testBeans = BeanProvider.getContextualReferences(BaseBean2.class, true);
-
-        Assert.assertEquals(1, testBeans.size());
-        Assert.assertEquals(BaseBean2.class.getName(), testBeans.get(0).getClass().getName());
+        BaseBean2 baseBean2 = BeanProvider.getContextualReference(BaseBean2.class);
+        Assert.assertNotNull(baseBean2);
     }
 
     /*
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeWarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeWarFileTest.java
index 126ca32..8612911 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeWarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/alternative/local/BdaAlternativeWarFileTest.java
@@ -45,7 +45,7 @@
         String simpleName = BdaAlternativeWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
 
-        JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "securedAnnotationTest.jar")
+        JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, archiveName + ".jar")
                 .addPackage(BdaAlternativeWarFileTest.class.getPackage())
                 .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
 
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/propertyconfigsource/BaseTestConfigProperty.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/propertyconfigsource/BaseTestConfigProperty.java
index 61ababe..4362d76 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/propertyconfigsource/BaseTestConfigProperty.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/propertyconfigsource/BaseTestConfigProperty.java
@@ -20,12 +20,20 @@
 
 import javax.inject.Inject;
 
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.util.Collections;
+
+import org.apache.deltaspike.core.api.config.ConfigResolver;
+import org.apache.deltaspike.core.impl.config.PropertyFileConfigSource;
 import org.junit.Assert;
 import org.junit.Test;
 
 public class BaseTestConfigProperty
 {
     protected final static String CONFIG_FILE_NAME = "myconfig.properties";
+    protected static final String CONFIG_VALUE = "deltaspike.dynamic.reloadable.config.value";
 
     @Inject
     private MyBean myBean;
@@ -44,6 +52,33 @@
         Assert.assertEquals(8589934592l, myBean.getLongConfig());
         Assert.assertEquals(-1.1f, myBean.getFloatConfig(), 0);
         Assert.assertEquals(4e40, myBean.getDoubleConfig(), 0);
+    }
 
+    @Test
+    public void testDynamicReload() throws Exception
+    {
+        File prop = File.createTempFile("deltaspike-test", ".properties");
+        try (BufferedWriter bw = new BufferedWriter(new FileWriter(prop)))
+        {
+            bw.write(CONFIG_VALUE + "=1\ndeltaspike_reload=1\n");
+            bw.flush();
+        }
+        prop.deleteOnExit();
+
+        final PropertyFileConfigSource dynamicReloadConfigSource = new PropertyFileConfigSource(prop.toURI().toURL());
+        ConfigResolver.addConfigSources(Collections.singletonList(dynamicReloadConfigSource));
+
+        Assert.assertEquals("1", ConfigResolver.getPropertyValue(CONFIG_VALUE));
+
+        // we need to take care of file system granularity
+        Thread.sleep(2100L);
+
+        try (BufferedWriter bw = new BufferedWriter(new FileWriter(prop)))
+        {
+            bw.write(CONFIG_VALUE + "=2\ndeltaspike_reload=1\n");
+            bw.flush();
+        }
+
+        Assert.assertEquals("2", ConfigResolver.getPropertyValue(CONFIG_VALUE));
     }
 }
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeEarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeEarFileTest.java
index 8863c5a..8a21635 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeEarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeEarFileTest.java
@@ -18,14 +18,20 @@
  */
 package org.apache.deltaspike.test.core.api.exclude;
 
+import java.io.IOException;
+
 import org.apache.deltaspike.test.category.EnterpriseArchiveProfileCategory;
 import org.jboss.arquillian.container.test.api.Deployment;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
+import static org.apache.deltaspike.test.core.api.exclude.ExcludeWarFileTest.getConfigContent;
+
 /**
  * Tests for {@link org.apache.deltaspike.core.api.exclude.Exclude}
  */
@@ -33,14 +39,22 @@
 @Category(EnterpriseArchiveProfileCategory.class)
 public class ExcludeEarFileTest extends ExcludeTest
 {
+
     @Deployment
-    public static EnterpriseArchive deployEar()
+    public static EnterpriseArchive deployEar() throws IOException
     {
         //workaround for tomee - the ear-file needs to have the same name as the war-file
         String simpleName = ExcludeWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
 
+
+        // we needs to package the config into the EAR, as Weld3 based app servers boot the whole container
+        // with just the EAR classloader. No WAR file packaged config is reachable for BeforeBeanDiscovery
+        JavaArchive excludeConfigJar = ShrinkWrap.create(JavaArchive.class, "excludeConfig.jar")
+            .addAsManifestResource(new StringAsset(getConfigContent()), "apache-deltaspike.properties");
+
         return ShrinkWrap.create(EnterpriseArchive.class, archiveName + ".ear")
+                .addAsLibrary(excludeConfigJar)
                 .addAsModule(ExcludeWarFileTest.deploy());
     }
 }
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java
index 156201d..1085322 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java
@@ -35,7 +35,9 @@
 import org.junit.runner.RunWith;
 
 import javax.enterprise.inject.spi.Extension;
-import java.net.URL;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 
 /**
  * Tests for {@link org.apache.deltaspike.core.api.exclude.Exclude}
@@ -47,7 +49,7 @@
      * X TODO creating a WebArchive is only a workaround because JavaArchive cannot contain other archives.
      */
     @Deployment
-    public static WebArchive deploy()
+    public static WebArchive deploy() throws IOException
     {
         String simpleName = ExcludeWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
@@ -55,16 +57,12 @@
         // in case the Arquillian adapter doesn't properly handle resources on the classpath
         ProjectStageProducer.setProjectStage(ProjectStage.Production);
 
-        URL fileUrl = ExcludeWarFileTest.class.getClassLoader()
-                .getResource("META-INF/apache-deltaspike.properties");
-
         JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "excludeTest.jar")
                 .addPackage(ExcludeWarFileTest.class.getPackage())
                 .addPackage(TestClassDeactivator.class.getPackage())
-                .addAsManifestResource(FileUtils.getFileForURL(fileUrl.toString()))
-                .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
-                .addAsResource(new StringAsset("org.apache.deltaspike.ProjectStage = Production"),
-                    "apache-deltaspike.properties"); // when deployed on some remote container;
+                .addAsManifestResource(new StringAsset(getConfigContent()),
+                    "apache-deltaspike.properties") // when deployed on some remote container;
+                .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
 
         return ShrinkWrap.create(WebArchive.class, archiveName + ".war")
                 .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreArchive())
@@ -73,6 +71,14 @@
                 .addAsServiceProvider(Extension.class, ExcludeExtension.class);
     }
 
+    public static String getConfigContent() throws IOException
+    {
+        byte[] configContent = Files.readAllBytes(FileUtils.getFileForURL(ExcludeWarFileTest.class.getClassLoader()
+                .getResource("META-INF/apache-deltaspike.properties").toString()).toPath());
+        return new String(configContent, StandardCharsets.UTF_8) +
+            "\norg.apache.deltaspike.ProjectStage = Production";
+    }
+
     @AfterClass
     public static void resetProjectStage() {
         ProjectStageProducer.setProjectStage(null);
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
index df858f0..5c774ad 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
@@ -80,6 +80,9 @@
             {
                 System.setProperty(ProjectStageProducer.CONFIG_SETTING_KEYS[i], oldEnvVals[i]);
             }
+
+            // also reset the ProjectStageProducer again
+            ProjectStageProducer.setProjectStage(null);
         }
     }
 }
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/activation/ClassDeactivationWarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/activation/ClassDeactivationWarFileTest.java
index f2b32cc..76f95c4 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/activation/ClassDeactivationWarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/activation/ClassDeactivationWarFileTest.java
@@ -35,7 +35,7 @@
 public class ClassDeactivationWarFileTest extends ClassDeactivationTest
 {
     /**
-     *X TODO creating a WebArchive is only a workaround because JavaArchive cannot contain other archives.
+     * NOTE: creating a WebArchive is only a workaround because JavaArchive cannot contain other archives.
      */
     @Deployment
     public static WebArchive deploy()
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationEarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationEarFileTest.java
index 2221363..16f1989 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationEarFileTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationEarFileTest.java
@@ -22,7 +22,9 @@
 import org.jboss.arquillian.container.test.api.Deployment;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
@@ -30,6 +32,8 @@
 @Category(EnterpriseArchiveProfileCategory.class)
 public class SimpleRegistrationEarFileTest extends SimpleRegistrationTest
 {
+    public static final String CONFIG = "deltaspike.bean-manager.delegate_lookup=false\n"; // Weld3 bug :(
+
     @Deployment
     public static EnterpriseArchive deployEar()
     {
@@ -37,7 +41,12 @@
         String simpleName = SimpleRegistrationWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
 
+        JavaArchive configJar = ShrinkWrap.create(JavaArchive.class, "registrationConfig.jar")
+            .addAsManifestResource(new StringAsset(CONFIG),
+                "apache-deltaspike.properties");
+
         return ShrinkWrap.create(EnterpriseArchive.class, archiveName + ".ear")
+                .addAsLibrary(configJar)
                 .addAsModule(SimpleRegistrationWarFileTest.deploy());
     }
 }
diff --git a/deltaspike/core/pom.xml b/deltaspike/core/pom.xml
index 0bad261..e4d480d 100644
--- a/deltaspike/core/pom.xml
+++ b/deltaspike/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent-code</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../parent/code/pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/dist/bom/pom.xml b/deltaspike/dist/bom/pom.xml
index 0fa709e..8df1057 100644
--- a/deltaspike/dist/bom/pom.xml
+++ b/deltaspike/dist/bom/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.distribution</groupId>
         <artifactId>distributions-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.distribution</groupId>
     <artifactId>distributions-bom</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Distribution Bill of Materials</name>
diff --git a/deltaspike/dist/full/pom.xml b/deltaspike/dist/full/pom.xml
index c266a87..9cfbe92 100644
--- a/deltaspike/dist/full/pom.xml
+++ b/deltaspike/dist/full/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.distribution</groupId>
         <artifactId>distributions-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>distribution-full</artifactId>
diff --git a/deltaspike/dist/pom.xml b/deltaspike/dist/pom.xml
index dea144f..b26f17c 100644
--- a/deltaspike/dist/pom.xml
+++ b/deltaspike/dist/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.deltaspike.distribution</groupId>
     <artifactId>distributions-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Distribution</name>
diff --git a/deltaspike/examples/data-examples/pom.xml b/deltaspike/examples/data-examples/pom.xml
index 2c85d4e..7938b50 100644
--- a/deltaspike/examples/data-examples/pom.xml
+++ b/deltaspike/examples/data-examples/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-data-examples</artifactId>
diff --git a/deltaspike/examples/jpa-examples/pom.xml b/deltaspike/examples/jpa-examples/pom.xml
index ab5589d..67044dc 100644
--- a/deltaspike/examples/jpa-examples/pom.xml
+++ b/deltaspike/examples/jpa-examples/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-jpa-examples</artifactId>
diff --git a/deltaspike/examples/jse-examples/pom.xml b/deltaspike/examples/jse-examples/pom.xml
index 3aaff43..a2021e9 100644
--- a/deltaspike/examples/jse-examples/pom.xml
+++ b/deltaspike/examples/jse-examples/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.examples</groupId>
diff --git a/deltaspike/examples/jsf-examples/pom.xml b/deltaspike/examples/jsf-examples/pom.xml
index 6743258..e024a6c 100644
--- a/deltaspike/examples/jsf-examples/pom.xml
+++ b/deltaspike/examples/jsf-examples/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-jsf-example</artifactId>
diff --git a/deltaspike/examples/jsf-playground/pom.xml b/deltaspike/examples/jsf-playground/pom.xml
index f8b1878..5d3cb28 100644
--- a/deltaspike/examples/jsf-playground/pom.xml
+++ b/deltaspike/examples/jsf-playground/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-jsf-playground</artifactId>
diff --git a/deltaspike/examples/pom.xml b/deltaspike/examples/pom.xml
index ca0fcd7..16de566 100644
--- a/deltaspike/examples/pom.xml
+++ b/deltaspike/examples/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/examples/scheduler-playground/pom.xml b/deltaspike/examples/scheduler-playground/pom.xml
index 9e12587..c1eb147 100644
--- a/deltaspike/examples/scheduler-playground/pom.xml
+++ b/deltaspike/examples/scheduler-playground/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.examples</groupId>
diff --git a/deltaspike/examples/security-requested-page-after-login-cdi/pom.xml b/deltaspike/examples/security-requested-page-after-login-cdi/pom.xml
index 861acd8..d073d1f 100644
--- a/deltaspike/examples/security-requested-page-after-login-cdi/pom.xml
+++ b/deltaspike/examples/security-requested-page-after-login-cdi/pom.xml
@@ -41,7 +41,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
     
     <artifactId>deltaspike-security-requested-page-after-login-cdi</artifactId>
diff --git a/deltaspike/examples/security-requested-page-after-login-picketlink/pom.xml b/deltaspike/examples/security-requested-page-after-login-picketlink/pom.xml
index ec9d1c2..4fcf9d0 100644
--- a/deltaspike/examples/security-requested-page-after-login-picketlink/pom.xml
+++ b/deltaspike/examples/security-requested-page-after-login-picketlink/pom.xml
@@ -41,7 +41,7 @@
     <parent>
         <groupId>org.apache.deltaspike.examples</groupId>
         <artifactId>examples-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-security-requested-page-after-login-picketlink</artifactId>
diff --git a/deltaspike/modules/bean-validation/api/pom.xml b/deltaspike/modules/bean-validation/api/pom.xml
index 5230ecc..6900a51 100644
--- a/deltaspike/modules/bean-validation/api/pom.xml
+++ b/deltaspike/modules/bean-validation/api/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.deltaspike.modules</groupId>
 		<artifactId>bean-validation-module-project</artifactId>
-		<version>1.9.4-SNAPSHOT</version>
+		<version>1.9.5-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>deltaspike-bean-validation-module-api</artifactId>
diff --git a/deltaspike/modules/bean-validation/impl/pom.xml b/deltaspike/modules/bean-validation/impl/pom.xml
index 1150a4e..1dbd8d5 100644
--- a/deltaspike/modules/bean-validation/impl/pom.xml
+++ b/deltaspike/modules/bean-validation/impl/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.deltaspike.modules</groupId>
 		<artifactId>bean-validation-module-project</artifactId>
-		<version>1.9.4-SNAPSHOT</version>
+		<version>1.9.5-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>deltaspike-bean-validation-module-impl</artifactId>
diff --git a/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java b/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
index d5ec4a9..3c20205 100644
--- a/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
+++ b/deltaspike/modules/bean-validation/impl/src/main/java/org/apache/deltaspike/beanvalidation/impl/CDIAwareConstraintValidatorFactory.java
@@ -31,7 +31,7 @@
 
 /**
  * A factory for creating CDI Aware/Enabled ConstraintValidators.
- * 
+ *
  */
 public class CDIAwareConstraintValidatorFactory implements
         ConstraintValidatorFactory
@@ -40,9 +40,8 @@
     private static volatile Boolean releaseInstanceMethodFound;
     private static Method releaseInstanceMethod;
 
-    private final Logger log = Logger
-            .getLogger(CDIAwareConstraintValidatorFactory.class.toString());
-    
+    private final Logger log = Logger.getLogger(CDIAwareConstraintValidatorFactory.class.getName());
+
     private final ConstraintValidatorFactory delegate;
 
     public CDIAwareConstraintValidatorFactory()
@@ -50,7 +49,7 @@
         delegate = Validation.byDefaultProvider().configure().getDefaultConstraintValidatorFactory();
         if (log.isLoggable(Level.CONFIG))
         {
-            log.config("Setting up delegate ConstraintValidatorFactory as " + 
+            log.config("Setting up delegate ConstraintValidatorFactory as " +
                     delegate.getClass().getCanonicalName());
         }
     }
diff --git a/deltaspike/modules/bean-validation/pom.xml b/deltaspike/modules/bean-validation/pom.xml
index faba5a7..f460205 100644
--- a/deltaspike/modules/bean-validation/pom.xml
+++ b/deltaspike/modules/bean-validation/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>bean-validation-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike BeanValidation-Module</name>
diff --git a/deltaspike/modules/data/api/pom.xml b/deltaspike/modules/data/api/pom.xml
index 4650fdf..4318c33 100755
--- a/deltaspike/modules/data/api/pom.xml
+++ b/deltaspike/modules/data/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>data-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-data-module-api</artifactId>
diff --git a/deltaspike/modules/data/impl/pom.xml b/deltaspike/modules/data/impl/pom.xml
index 8ca8926..1001b9c 100755
--- a/deltaspike/modules/data/impl/pom.xml
+++ b/deltaspike/modules/data/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>data-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-data-module-impl</artifactId>
diff --git a/deltaspike/modules/data/pom.xml b/deltaspike/modules/data/pom.xml
index afd3703..eb1adbd 100755
--- a/deltaspike/modules/data/pom.xml
+++ b/deltaspike/modules/data/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>data-module-project</artifactId>
diff --git a/deltaspike/modules/data/test-ee7/pom.xml b/deltaspike/modules/data/test-ee7/pom.xml
index 41bb552..f2d19dc 100644
--- a/deltaspike/modules/data/test-ee7/pom.xml
+++ b/deltaspike/modules/data/test-ee7/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>data-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-data-module-test-ee7</artifactId>
diff --git a/deltaspike/modules/jpa/api/pom.xml b/deltaspike/modules/jpa/api/pom.xml
index 0eb9f22..ab6b84b 100644
--- a/deltaspike/modules/jpa/api/pom.xml
+++ b/deltaspike/modules/jpa/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>jpa-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/jpa/impl/pom.xml b/deltaspike/modules/jpa/impl/pom.xml
index 51d2824..0af01c8 100644
--- a/deltaspike/modules/jpa/impl/pom.xml
+++ b/deltaspike/modules/jpa/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>jpa-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/EntityManagerFactoryProducer.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/EntityManagerFactoryProducer.java
index 6b5e486..14e8646 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/EntityManagerFactoryProducer.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/EntityManagerFactoryProducer.java
@@ -77,7 +77,7 @@
 
         if (unitNameAnnotation == null)
         {
-            LOG.warning("@PersisteneUnitName annotation could not be found at EntityManagerFactory injection point!");
+            LOG.warning("@PersistenceUnitName annotation could not be found at EntityManagerFactory injection point!");
 
             return null;
         }
diff --git a/deltaspike/modules/jpa/pom.xml b/deltaspike/modules/jpa/pom.xml
index c32684f..e72cba8 100644
--- a/deltaspike/modules/jpa/pom.xml
+++ b/deltaspike/modules/jpa/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>jpa-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike JPA-Module</name>
diff --git a/deltaspike/modules/jsf/api/pom.xml b/deltaspike/modules/jsf/api/pom.xml
index b3205c9..7ccf6b9 100644
--- a/deltaspike/modules/jsf/api/pom.xml
+++ b/deltaspike/modules/jsf/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>jsf-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/jsf/impl-ee6/pom.xml b/deltaspike/modules/jsf/impl-ee6/pom.xml
index dc614ae..46476cf 100644
--- a/deltaspike/modules/jsf/impl-ee6/pom.xml
+++ b/deltaspike/modules/jsf/impl-ee6/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>jsf-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-jsf-module-impl-ee6</artifactId>
diff --git a/deltaspike/modules/jsf/impl/pom.xml b/deltaspike/modules/jsf/impl/pom.xml
index b8201d8..2e4ea7a 100644
--- a/deltaspike/modules/jsf/impl/pom.xml
+++ b/deltaspike/modules/jsf/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>jsf-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/jsf/pom.xml b/deltaspike/modules/jsf/pom.xml
index 8703a15..08d0f90 100644
--- a/deltaspike/modules/jsf/pom.xml
+++ b/deltaspike/modules/jsf/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>jsf-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike JSF-Module</name>
diff --git a/deltaspike/modules/partial-bean/api/pom.xml b/deltaspike/modules/partial-bean/api/pom.xml
index 4251728..2b811be 100644
--- a/deltaspike/modules/partial-bean/api/pom.xml
+++ b/deltaspike/modules/partial-bean/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>partial-bean-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/partial-bean/impl/pom.xml b/deltaspike/modules/partial-bean/impl/pom.xml
index d65fb2a..a2bcc73 100644
--- a/deltaspike/modules/partial-bean/impl/pom.xml
+++ b/deltaspike/modules/partial-bean/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>partial-bean-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/partial-bean/pom.xml b/deltaspike/modules/partial-bean/pom.xml
index cf1a81f..8989793 100644
--- a/deltaspike/modules/partial-bean/pom.xml
+++ b/deltaspike/modules/partial-bean/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>partial-bean-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Partial-Bean-Module</name>
diff --git a/deltaspike/modules/pom.xml b/deltaspike/modules/pom.xml
index 696aba8..80b1e99 100644
--- a/deltaspike/modules/pom.xml
+++ b/deltaspike/modules/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent-code</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../parent/code/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>modules-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Modules</name>
diff --git a/deltaspike/modules/proxy/api/pom.xml b/deltaspike/modules/proxy/api/pom.xml
index b86b30d..835dacc 100644
--- a/deltaspike/modules/proxy/api/pom.xml
+++ b/deltaspike/modules/proxy/api/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>org.apache.deltaspike.modules</groupId>
 		<artifactId>proxy-module-project</artifactId>
-		<version>1.9.4-SNAPSHOT</version>
+		<version>1.9.5-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>deltaspike-proxy-module-api</artifactId>
diff --git a/deltaspike/modules/proxy/impl-asm/pom.xml b/deltaspike/modules/proxy/impl-asm/pom.xml
index 5ce28dc..684eca3 100644
--- a/deltaspike/modules/proxy/impl-asm/pom.xml
+++ b/deltaspike/modules/proxy/impl-asm/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>proxy-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/modules/proxy/pom.xml b/deltaspike/modules/proxy/pom.xml
index d244504..9248159 100644
--- a/deltaspike/modules/proxy/pom.xml
+++ b/deltaspike/modules/proxy/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>proxy-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Proxy-Module</name>
diff --git a/deltaspike/modules/scheduler/api/pom.xml b/deltaspike/modules/scheduler/api/pom.xml
index 875a20c..06f8117 100644
--- a/deltaspike/modules/scheduler/api/pom.xml
+++ b/deltaspike/modules/scheduler/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>scheduler-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/scheduler/impl/pom.xml b/deltaspike/modules/scheduler/impl/pom.xml
index 3e73333..1dcb7b9 100644
--- a/deltaspike/modules/scheduler/impl/pom.xml
+++ b/deltaspike/modules/scheduler/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>scheduler-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/scheduler/pom.xml b/deltaspike/modules/scheduler/pom.xml
index 8e1f1a6..7e42ad4 100644
--- a/deltaspike/modules/scheduler/pom.xml
+++ b/deltaspike/modules/scheduler/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>scheduler-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Scheduler-Module</name>
diff --git a/deltaspike/modules/security/api/pom.xml b/deltaspike/modules/security/api/pom.xml
index 4ca4abb..56d7af5 100644
--- a/deltaspike/modules/security/api/pom.xml
+++ b/deltaspike/modules/security/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>security-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/security/impl/pom.xml b/deltaspike/modules/security/impl/pom.xml
index ddd117d..bd04ddd 100644
--- a/deltaspike/modules/security/impl/pom.xml
+++ b/deltaspike/modules/security/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>security-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/security/impl/src/test/java/org/apache/deltaspike/test/security/impl/authorization/secured/SecuredAnnotationEarFileTest.java b/deltaspike/modules/security/impl/src/test/java/org/apache/deltaspike/test/security/impl/authorization/secured/SecuredAnnotationEarFileTest.java
index c97f1e7..ae7b700 100644
--- a/deltaspike/modules/security/impl/src/test/java/org/apache/deltaspike/test/security/impl/authorization/secured/SecuredAnnotationEarFileTest.java
+++ b/deltaspike/modules/security/impl/src/test/java/org/apache/deltaspike/test/security/impl/authorization/secured/SecuredAnnotationEarFileTest.java
@@ -22,7 +22,9 @@
 import org.jboss.arquillian.container.test.api.Deployment;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
@@ -34,6 +36,8 @@
 @Category(EnterpriseArchiveProfileCategory.class)
 public class SecuredAnnotationEarFileTest extends SecuredAnnotationTest
 {
+    public static final String CONFIG = "deltaspike.bean-manager.delegate_lookup=false\n"; // Weld3 bug :(
+
     @Deployment
     public static EnterpriseArchive deployEar()
     {
@@ -41,7 +45,12 @@
         String simpleName = SecuredAnnotationWarFileTest.class.getSimpleName();
         String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1);
 
+        JavaArchive configJar = ShrinkWrap.create(JavaArchive.class, "dsConfig.jar")
+            .addAsManifestResource(new StringAsset(CONFIG),
+                "apache-deltaspike.properties");
+
         return ShrinkWrap.create(EnterpriseArchive.class, archiveName + ".ear")
+                .addAsLibrary(configJar)
                 .addAsModule(SecuredAnnotationWarFileTest.deploy());
     }
 }
diff --git a/deltaspike/modules/security/pom.xml b/deltaspike/modules/security/pom.xml
index 7980401..673cc4d 100644
--- a/deltaspike/modules/security/pom.xml
+++ b/deltaspike/modules/security/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>security-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Security-Module</name>
diff --git a/deltaspike/modules/servlet/api/pom.xml b/deltaspike/modules/servlet/api/pom.xml
index ace9138..5a39058 100644
--- a/deltaspike/modules/servlet/api/pom.xml
+++ b/deltaspike/modules/servlet/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>servlet-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-servlet-module-api</artifactId>
diff --git a/deltaspike/modules/servlet/impl/pom.xml b/deltaspike/modules/servlet/impl/pom.xml
index 4038dc1..ea0a9d6 100644
--- a/deltaspike/modules/servlet/impl/pom.xml
+++ b/deltaspike/modules/servlet/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>servlet-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <artifactId>deltaspike-servlet-module-impl</artifactId>
diff --git a/deltaspike/modules/servlet/pom.xml b/deltaspike/modules/servlet/pom.xml
index 37c7fa3..120c06e 100644
--- a/deltaspike/modules/servlet/pom.xml
+++ b/deltaspike/modules/servlet/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>servlet-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Servlet-Module</name>
diff --git a/deltaspike/modules/test-control/api/pom.xml b/deltaspike/modules/test-control/api/pom.xml
index ecdd1af..b6c3bf2 100644
--- a/deltaspike/modules/test-control/api/pom.xml
+++ b/deltaspike/modules/test-control/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>test-control-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
diff --git a/deltaspike/modules/test-control/impl/pom.xml b/deltaspike/modules/test-control/impl/pom.xml
index 5c12ddd..333d5a9 100644
--- a/deltaspike/modules/test-control/impl/pom.xml
+++ b/deltaspike/modules/test-control/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>test-control-module-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
@@ -190,6 +190,22 @@
 
                 <!-- The remaining bits of this profile are located under deltaspike/parent/code/pom.xml -->
             </dependencies>
+
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <!--
+                                Weld2 behaves weird when it comes to excluding @Alternative classes
+                                Those tests work fine with Weld1, Weld3 and all OWB versions, but not with Weld2
+                            -->
+                            <skip>true</skip>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
         <profile>
             <id>Weld3</id>
diff --git a/deltaspike/modules/test-control/pom.xml b/deltaspike/modules/test-control/pom.xml
index d946cc6..b2b5703 100644
--- a/deltaspike/modules/test-control/pom.xml
+++ b/deltaspike/modules/test-control/pom.xml
@@ -23,12 +23,12 @@
     <parent>
         <groupId>org.apache.deltaspike.modules</groupId>
         <artifactId>modules-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.deltaspike.modules</groupId>
     <artifactId>test-control-module-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Test-Control-Module</name>
diff --git a/deltaspike/parent/code/pom.xml b/deltaspike/parent/code/pom.xml
index d1afb08..d8c2fd7 100644
--- a/deltaspike/parent/code/pom.xml
+++ b/deltaspike/parent/code/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -41,13 +41,13 @@
         <version.activation>1.1.1</version.activation>
         <version.annotation>1.3.2</version.annotation>
         <bval.artifactId>bval-jsr303</bval.artifactId>
-		<validation.artifactId>geronimo-validation_1.0_spec</validation.artifactId>
+        <validation.artifactId>geronimo-validation_1.0_spec</validation.artifactId>
         <jboss.as.version>7.1.1.Final</jboss.as.version>
         <wildfly.version>10.1.0.Final</wildfly.version>
         <wildfly.arquillian.version>1.0.2.Final</wildfly.arquillian.version>
         <glassfish3.version>3.1.2.2</glassfish3.version>
         <glassfish4.version>4.0</glassfish4.version>
-        <payara.version>4.1.1.162</payara.version>
+        <payara.version>4.1.2.181</payara.version>
         <wls.version>12.1</wls.version>
     </properties>
 
@@ -72,7 +72,7 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-		
+        
         <!-- Preparation for Java 9+, include a dependency on the JAXB APIs -->
         <dependency>
             <groupId>javax.xml.bind</groupId>
@@ -183,13 +183,13 @@
                 <jdk>[1.9,)</jdk>
             </activation>
             <properties>
-				<!-- Need newer implementations to be able to run on Java9+ -->
+                <!-- Need newer implementations to be able to run on Java9+ -->
                 <bval.artifactId>bval-jsr</bval.artifactId>
-				<validation.artifactId>geronimo-validation_1.1_spec</validation.artifactId>
-				<hibernate.validator.version>6.0.17.Final</hibernate.validator.version>
+                <validation.artifactId>geronimo-validation_1.1_spec</validation.artifactId>
+                <hibernate.validator.version>6.0.17.Final</hibernate.validator.version>
             </properties>
         </profile>
-		
+        
         <profile>
             <!-- use this profile to compile and test DeltaSpike with Apache OpenWebBeans -->
             <id>OWB</id>
@@ -260,10 +260,10 @@
                     <scope>test</scope>
                 </dependency>
 
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>${validation.artifactId}</artifactId>
-				</dependency>
+                <dependency>
+                    <groupId>org.apache.geronimo.specs</groupId>
+                    <artifactId>${validation.artifactId}</artifactId>
+                </dependency>
                 <dependency>
                     <groupId>org.apache.bval</groupId>
                     <artifactId>${bval.artifactId}</artifactId>
@@ -360,10 +360,10 @@
                     <scope>test</scope>
                 </dependency>
 
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>${validation.artifactId}</artifactId>
-				</dependency>
+                <dependency>
+                    <groupId>org.apache.geronimo.specs</groupId>
+                    <artifactId>${validation.artifactId}</artifactId>
+                </dependency>
                 <dependency>
                     <groupId>org.apache.bval</groupId>
                     <artifactId>${bval.artifactId}</artifactId>
@@ -466,10 +466,10 @@
                     <scope>test</scope>
                 </dependency>
 
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>${validation.artifactId}</artifactId>
-				</dependency>
+                <dependency>
+                    <groupId>org.apache.geronimo.specs</groupId>
+                    <artifactId>${validation.artifactId}</artifactId>
+                </dependency>
                 <dependency>
                     <groupId>org.apache.bval</groupId>
                     <artifactId>${bval.artifactId}</artifactId>
@@ -695,7 +695,7 @@
 
             <properties>
                 <!-- Actual Weld version used with this profile -->
-                <weld.version>3.0.4.Final</weld.version>
+                <weld.version>3.1.3.Final</weld.version>
                 <cdicontainer.version>weld-${weld.version}</cdicontainer.version>
             </properties>
             
@@ -753,7 +753,11 @@
                     <groupId>org.jboss.weld</groupId>
                     <artifactId>weld-api</artifactId>
                 </dependency>
-                
+                <dependency>
+                    <groupId>org.jboss.weld</groupId>
+                    <artifactId>weld-spi</artifactId>
+                </dependency>
+
                 <!--Other than Weld dependencies-->
                 <dependency>
                     <groupId>javax.el</groupId>
@@ -2088,9 +2092,9 @@
                 </dependency>
                 <!-- Also works fine with Payara -->
                 <dependency>
-                    <groupId>org.jboss.arquillian.container</groupId>
-                    <artifactId>arquillian-glassfish-managed-3.1</artifactId>
-                    <version>1.0.0.CR4</version>
+                    <groupId>fish.payara.arquillian</groupId>
+                    <artifactId>arquillian-payara-server-4-managed</artifactId>
+                    <version>1.1</version>
                     <scope>test</scope>
                 </dependency>
             </dependencies>
diff --git a/deltaspike/parent/pom.xml b/deltaspike/parent/pom.xml
index e9f0253..d606aaa 100644
--- a/deltaspike/parent/pom.xml
+++ b/deltaspike/parent/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike-project</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -73,7 +73,7 @@
         <mojarra1.version>1.2_14</mojarra1.version>
 
         <!-- used for some bytecode proxy stuff. Shaded in -->
-        <asm.version>7.2</asm.version>
+        <asm.version>8.0.1</asm.version>
 
         <!-- Geronimo specs -->
         <geronimo-annotation_1.2_spec.version>1.0</geronimo-annotation_1.2_spec.version>
diff --git a/deltaspike/pom.xml b/deltaspike/pom.xml
index b7a8f5e..5021ed2 100644
--- a/deltaspike/pom.xml
+++ b/deltaspike/pom.xml
@@ -42,7 +42,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -56,7 +56,7 @@
     -->
     <groupId>org.apache.deltaspike</groupId>
     <artifactId>deltaspike-project</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Sources</name>
diff --git a/deltaspike/test-utils/pom.xml b/deltaspike/test-utils/pom.xml
index fe7f7ce..3ddcdca 100644
--- a/deltaspike/test-utils/pom.xml
+++ b/deltaspike/test-utils/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>parent</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/deltaspike/test-utils/src/main/resources/arquillian-jboss.xml b/deltaspike/test-utils/src/main/resources/arquillian-jboss.xml
index e4643d5..ec9937a 100644
--- a/deltaspike/test-utils/src/main/resources/arquillian-jboss.xml
+++ b/deltaspike/test-utils/src/main/resources/arquillian-jboss.xml
@@ -62,6 +62,9 @@
         <configuration>
             <property name="jbossHome">${arquillian.jboss_home}</property>
             <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m -Djboss.socket.binding.port-offset=50000 -Dcdicontainer.version=${cdicontainer.version}</property>
+<!-- debug options
+            <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m -Djboss.socket.binding.port-offset=50000 -Dcdicontainer.version=${cdicontainer.version} -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</property>
+-->
             <property name="outputToConsole">false</property>
             <property name="managementPort">59990</property>
         </configuration>
diff --git a/documentation/pom.xml b/documentation/pom.xml
index 324a96e..423d09d 100644
--- a/documentation/pom.xml
+++ b/documentation/pom.xml
@@ -24,13 +24,13 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.deltaspike</groupId>
     <artifactId>deltaspike-documentation</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Documentation</name>
diff --git a/pom.xml b/pom.xml
index 75b91a0..d92c797 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
     -->
     <groupId>org.apache.deltaspike</groupId>
     <artifactId>deltaspike</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike</name>
@@ -48,8 +48,8 @@
 
     <properties>
         <asciidoctor.version>1.5.2</asciidoctor.version>
-        <version.deltaspike.latest.stable>1.9.3</version.deltaspike.latest.stable>
-        <version.deltaspike.latest.snapshot>1.9.4-SNAPSHOT</version.deltaspike.latest.snapshot>
+        <version.deltaspike.latest.stable>1.9.4</version.deltaspike.latest.stable>
+        <version.deltaspike.latest.snapshot>1.9.5-SNAPSHOT</version.deltaspike.latest.snapshot>
         <svn.scmPubCheckoutDirectory>${project.build.directory}/co-site</svn.scmPubCheckoutDirectory>
     </properties>
 
diff --git a/site/pom.xml b/site/pom.xml
index 9633ead..90c2dd6 100644
--- a/site/pom.xml
+++ b/site/pom.xml
@@ -24,13 +24,13 @@
     <parent>
         <groupId>org.apache.deltaspike</groupId>
         <artifactId>deltaspike</artifactId>
-        <version>1.9.4-SNAPSHOT</version>
+        <version>1.9.5-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.deltaspike</groupId>
     <artifactId>deltaspike-site</artifactId>
-    <version>1.9.4-SNAPSHOT</version>
+    <version>1.9.5-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache DeltaSpike Site</name>
diff --git a/site/src/main/asciidoc/articles.adoc b/site/src/main/asciidoc/articles.adoc
index e9e65e9..392492a 100644
--- a/site/src/main/asciidoc/articles.adoc
+++ b/site/src/main/asciidoc/articles.adoc
@@ -27,3 +27,6 @@
 * http://rmannibucau.wordpress.com/2013/11/20/deltaspike-data-repositories-with-dtos/[DeltaSpike Data: repositories with DTOs!]
 * http://jaxenter.com/introducing-apache-deltaspike-42925.html[Closing the Gaps: Introducing Apache Deltaspike]
 * http://jsfcorner.blogspot.com.au/2013/01/deltaspike-jsf-message-system.html[DeltaSpike JSF message system]
+* https://medium.com/danieldiasjava/simplificando-persistencia-de-dados-com-apache-deltaspike-data-6fd27bb2d821[Simplificando persistência de Dados com Apache DeltaSpike Data - PT-BR]
+* https://medium.com/danieldiasjava/conhecendo-apache-deltaspike-configuration-a24516468a9b[Conhecendo Apache DeltaSpike: Configuration - PT-BR]
+* https://medium.com/danieldiasjava/conhecendo-apache-deltaspike-injecting-resources-fa4e5585c2ea[Conhecendo Apache DeltaSpike: Injecting Resources - PT-BR]
\ No newline at end of file
diff --git a/site/src/main/asciidoc/external.adoc b/site/src/main/asciidoc/external.adoc
index 150bae0..94edd7a 100644
--- a/site/src/main/asciidoc/external.adoc
+++ b/site/src/main/asciidoc/external.adoc
@@ -74,6 +74,14 @@
 

 **Video:** https://www.youtube.com/watch?v=3McmEi3cs_s

 

+=== Simplificando la persistencia de datos con Apache DeltaSpike Data (Java User Group de Nicaragua)

+

+**Slide:** https://speakerdeck.com/danieldiasjava/simplificando-la-persistencia-de-datos-con-apache-deltaspike-data

+

+**Video:** https://youtu.be/djM51tlJuLs

+

+**Example:** https://github.com/Daniel-Dos/danieldiasjava-palestras/tree/master/JUGNicaragua

+

 == Examples

 

 === IdeaFork (full)

@@ -150,6 +158,26 @@
 

 **Source code:** https://github.com/SouJava-Rio/soujava-rio-labs/tree/master/jax-rs-samples/Jax-rs-deltaspike-angular2-4/jax-rs-sample-cdi-deltaspike-data

 

+=== [spanish] Oracle Helidon with DeltaSpike-Data

+Simple CRUD example based on Helidon and DeltaSpike-data

+

+**Source code:** https://github.com/Daniel-Dos/danieldiasjava-palestras/tree/master/JUGNicaragua

+

+=== [pt-BR] Eclipse vertx with DeltaSpike-Data

+Simple example based on vertx and DeltaSpike-data

+

+**Source code:** https://github.com/Daniel-Dos/DanielDiasjava-Blog/tree/master/Projeto-Cloud/vertx

+

+=== [pt-BR] Eclipse vertx with DeltaSpike-Data

+Simple example based on vertx and DeltaSpike-data

+

+**Source code:** https://github.com/Daniel-Dos/DanielDiasjava-Blog/tree/master/Projeto-Cloud/vertx

+

+=== [pt-BR] Javalin with DeltaSpike-Data

+Simple example based on Javalin and DeltaSpike-data

+

+**Source code:** https://github.com/Daniel-Dos/DanielDiasjava-Blog/tree/master/Projeto-Cloud/javalin

+

 == Magazines

 

 === [pt-BR] Brazilian Java Magazine

diff --git a/site/src/main/asciidoc/news.adoc b/site/src/main/asciidoc/news.adoc
index a1199b7..2b98572 100644
--- a/site/src/main/asciidoc/news.adoc
+++ b/site/src/main/asciidoc/news.adoc
@@ -4,6 +4,11 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
+== 36th Release (1.9.4) (2020-06-12)
+
+The Apache DeltaSpike team is pleased to announce the 36th release
+(v1.9.4).  Release notes can be found https://s.apache.org/DeltaSpike1.9.4[here]
+
 == 35th Release (1.9.3) (2020-01-27)
 
 The Apache DeltaSpike team is pleased to announce the 35th release