You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2017/05/17 20:37:44 UTC

[1/2] deltaspike git commit: DELTASPIKE-1256 remove local ProjectStage cache from ConfigResolver

Repository: deltaspike
Updated Branches:
  refs/heads/master 0cdede08c -> 301ff1b4e


DELTASPIKE-1256 remove local ProjectStage cache from ConfigResolver

After profiling and doing some performance tests it became clear that
the performance impact is really low. Probably because JIT optimises it anyway.
By going to ProjectStageProducer every time we can more easily invalidate a ProjectStage at runtime.
This is especially important for unit testing scenarios.


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/84f956f6
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/84f956f6
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/84f956f6

Branch: refs/heads/master
Commit: 84f956f6663c3604af0f0d07d2cfb2b8d857eafd
Parents: 0cdede0
Author: Mark Struberg <st...@apache.org>
Authored: Wed May 17 22:29:06 2017 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Wed May 17 22:29:06 2017 +0200

----------------------------------------------------------------------
 .../deltaspike/core/api/config/ConfigResolver.java   | 11 +----------
 .../test/testcontrol/uc013/ContainerConfigTest.java  | 15 ---------------
 2 files changed, 1 insertion(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/84f956f6/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/ConfigResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/ConfigResolver.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/ConfigResolver.java
index f8bcae7..3961678 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/ConfigResolver.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/config/ConfigResolver.java
@@ -92,7 +92,6 @@ public final class ConfigResolver
     private static Map<ClassLoader, List<ConfigFilter>> configFilters
         = new ConcurrentHashMap<ClassLoader, List<ConfigFilter>>();
 
-    private static volatile ProjectStage projectStage = null;
 
     private ConfigResolver()
     {
@@ -565,15 +564,7 @@ public final class ConfigResolver
 
     private static ProjectStage getProjectStage()
     {
-        if (projectStage == null)
-        {
-            synchronized (ConfigResolver.class)
-            {
-                projectStage = ProjectStageProducer.getInstance().getProjectStage();
-            }
-        }
-
-        return projectStage;
+        return ProjectStageProducer.getInstance().getProjectStage();
     }
 
     private static <T> T fallbackToDefaultIfEmpty(String key, T value, T defaultValue)

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/84f956f6/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/uc013/ContainerConfigTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/uc013/ContainerConfigTest.java b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/uc013/ContainerConfigTest.java
index df8a4f7..6f5241f 100644
--- a/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/uc013/ContainerConfigTest.java
+++ b/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol/uc013/ContainerConfigTest.java
@@ -41,21 +41,6 @@ import java.lang.reflect.Field;
 @RunWith(CdiTestRunner.class)
 public class ContainerConfigTest
 {
-    @Before
-    public void resetConfig()
-    {
-        //TODO discuss an api to reset the ConfigResolver
-        try
-        {
-            Field projectStageField = ConfigResolver.class.getDeclaredField("projectStage");
-            projectStageField.setAccessible(true);
-            projectStageField.set(null, null);
-        }
-        catch (Exception e)
-        {
-            throw ExceptionUtils.throwAsRuntimeException(e);
-        }
-    }
 
     @Test
     @TestControl(projectStage = ProjectStage.UnitTest.class) //just for internal tests


[2/2] deltaspike git commit: DELTASPIKE-1251 apply ConfigFilter to PersistenceConfiguration values

Posted by st...@apache.org.
DELTASPIKE-1251 apply ConfigFilter to PersistenceConfiguration values


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/301ff1b4
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/301ff1b4
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/301ff1b4

Branch: refs/heads/master
Commit: 301ff1b4e73a547b1e1be5410ebbb5ff881b67c1
Parents: 84f956f
Author: Mark Struberg <st...@apache.org>
Authored: Wed May 17 22:37:01 2017 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Wed May 17 22:37:01 2017 +0200

----------------------------------------------------------------------
 .../PersistenceConfigurationProviderImpl.java             | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/301ff1b4/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java
index 3bcb2ce..8f97a90 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java
@@ -21,6 +21,7 @@ package org.apache.deltaspike.jpa.impl.entitymanager;
 import javax.enterprise.context.ApplicationScoped;
 
 
+import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 
@@ -53,6 +54,15 @@ public class PersistenceConfigurationProviderImpl implements PersistenceConfigur
             unitProperties = new Properties();
         }
 
+        // apply ConfigFilters to the configured values.
+        for (Map.Entry entry : unitProperties.entrySet())
+        {
+            String key = (String) entry.getKey();
+            String value = (String) entry.getValue();
+
+            entry.setValue(ConfigResolver.filterConfigValue(key, value));
+        }
+
         unitProperties = addConfigProperties(unitProperties, persistenceUnitName);
 
         return unitProperties;