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 2014/11/17 10:45:58 UTC
[1/2] deltaspike git commit: DELTASPIKE-745 remove overly strict
startContext checks
Repository: deltaspike
Updated Branches:
refs/heads/master 4f4dc13d7 -> 6e62f8eb3
DELTASPIKE-745 remove overly strict startContext checks
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/115322c0
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/115322c0
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/115322c0
Branch: refs/heads/master
Commit: 115322c0611b056031c55d78e0926d888102700e
Parents: 4f4dc13
Author: Mark Struberg <st...@apache.org>
Authored: Thu Oct 30 08:50:45 2014 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Mon Nov 17 07:07:24 2014 +0100
----------------------------------------------------------------------
.../apache/deltaspike/cdise/weld/WeldContextControl.java | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/115322c0/deltaspike/cdictrl/impl-weld/src/main/java/org/apache/deltaspike/cdise/weld/WeldContextControl.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdictrl/impl-weld/src/main/java/org/apache/deltaspike/cdise/weld/WeldContextControl.java b/deltaspike/cdictrl/impl-weld/src/main/java/org/apache/deltaspike/cdise/weld/WeldContextControl.java
index 9a2cc36..e1ef95f 100644
--- a/deltaspike/cdictrl/impl-weld/src/main/java/org/apache/deltaspike/cdise/weld/WeldContextControl.java
+++ b/deltaspike/cdictrl/impl-weld/src/main/java/org/apache/deltaspike/cdise/weld/WeldContextControl.java
@@ -161,14 +161,9 @@ public class WeldContextControl implements ContextControl
{
rcHolder = new RequestContextHolder(requestContextFactory.get(), new HashMap<String, Object>());
requestContexts.set(rcHolder);
+ rcHolder.getBoundRequestContext().associate(rcHolder.getRequestMap());
+ rcHolder.getBoundRequestContext().activate();
}
- else
- {
- throw new IllegalStateException(RequestScoped.class.getName() + " started already");
- }
-
- rcHolder.getBoundRequestContext().associate(rcHolder.getRequestMap());
- rcHolder.getBoundRequestContext().activate();
}
void stopRequestScope()
[2/2] deltaspike git commit: DELTASPIKE-782 fix parent ClassLoader
lookup
Posted by st...@apache.org.
DELTASPIKE-782 fix parent ClassLoader lookup
* Don't stop on getSystemClassLoader as this might be perfectly fine in embedded scenarios.
* Properly grab the loadTimeBm from the parent ClassLoader if any
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/6e62f8eb
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/6e62f8eb
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/6e62f8eb
Branch: refs/heads/master
Commit: 6e62f8eb3048fdffd2ce5fef53d6e338d4c05747
Parents: 115322c
Author: Mark Struberg <st...@apache.org>
Authored: Mon Nov 17 09:19:42 2014 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Mon Nov 17 09:26:05 2014 +0100
----------------------------------------------------------------------
.../core/api/provider/BeanManagerProvider.java | 35 +++++++++-----------
1 file changed, 16 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/6e62f8eb/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanManagerProvider.java
----------------------------------------------------------------------
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 a72bcf3..e349ea9 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
@@ -197,17 +197,23 @@ public class BeanManagerProvider implements Extension
{
BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null));
- // warn the user if he tries to use the BeanManager before container startup
if (!bmi.booted)
{
- if (!isParentBeanManagerBooted())
- {
- LOG.warning("When using the BeanManager to retrieve Beans before the Container is started," +
- " non-portable behaviour results!");
+ // warn the user if he tries to use the BeanManager before container startup
+ LOG.warning("When using the BeanManager to retrieve Beans before the Container is started," +
+ " non-portable behaviour results!");
+
- // reset the flag to only issue the warning once.
- // this is a workaround for some containers which mess up EAR handling.
- bmi.booted = true;
+ // This is a workaround for some containers with messed up EAR handling.
+ // Those containers might boot up with the shared ear ClassLoader
+ // and later run the WARs with their own child ClassLoaders.
+ if (bmi.loadTimeBm == null)
+ {
+ BeanManagerInfo parentBmi = getParentBeanManagerInfo(ClassUtils.getClassLoader(null));
+ if (parentBmi != null)
+ {
+ bmi.loadTimeBm = parentBmi.loadTimeBm;
+ }
}
}
@@ -375,16 +381,6 @@ public class BeanManagerProvider implements Extension
}
/**
- * @return whether a BeanManagerInfo for a parent ClassLoader is available and has the booted flag set.
- */
- private boolean isParentBeanManagerBooted()
- {
- BeanManagerInfo parentBmi = getParentBeanManagerInfo(ClassUtils.getClassLoader(null));
-
- return parentBmi != null && parentBmi.booted;
- }
-
- /**
* This method recurses into the parent ClassLoaders and checks whether a BeanManagerInfo for it exists.
*
* @return the BeanManagerInfo of the parent ClassLoader hierarchy if any exists, or <code>null</code> if there is
@@ -393,7 +389,7 @@ public class BeanManagerProvider implements Extension
private BeanManagerInfo getParentBeanManagerInfo(ClassLoader classLoader)
{
ClassLoader parentClassLoader = classLoader.getParent();
- if (parentClassLoader == null || parentClassLoader.equals(ClassLoader.getSystemClassLoader()))
+ if (parentClassLoader == null)
{
return null;
}
@@ -401,6 +397,7 @@ public class BeanManagerProvider implements Extension
BeanManagerInfo bmi = getBeanManagerInfo(parentClassLoader);
if (bmi == null)
{
+ // recursive call up to the root ClassLoader
bmi = getParentBeanManagerInfo(parentClassLoader);
}