You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2020/04/29 08:12:38 UTC
[myfaces] branch master updated: MYFACES-4334
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/master by this push:
new b2a685b MYFACES-4334
b2a685b is described below
commit b2a685b74a465d655874c7f2a7b200d78c832594
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Wed Apr 29 10:12:30 2020 +0200
MYFACES-4334
---
.../myfaces/util/ExternalSpecifications.java | 37 +++++++++++-----------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/impl/src/main/java/org/apache/myfaces/util/ExternalSpecifications.java b/impl/src/main/java/org/apache/myfaces/util/ExternalSpecifications.java
index cd0214f..7cc25c1 100644
--- a/impl/src/main/java/org/apache/myfaces/util/ExternalSpecifications.java
+++ b/impl/src/main/java/org/apache/myfaces/util/ExternalSpecifications.java
@@ -84,8 +84,24 @@ public final class ExternalSpecifications
return available;
});
- private static volatile Boolean cdiAvailable;
-
+ private static Lazy<Boolean> cdiAvailable = new Lazy<>(() ->
+ {
+ boolean available;
+ try
+ {
+ available = ClassUtils.classForName("javax.enterprise.inject.spi.BeanManager") != null;
+ }
+ catch (Throwable t)
+ {
+ //log.log(Level.FINE, "Error loading class (could be normal)", t);
+ available = false;
+ }
+
+ log.info("MyFaces Core CDI support " + (available ? "enabled" : "disabled"));
+
+ return available;
+ });
+
private static Lazy<Boolean> el3Available = new Lazy<>(() ->
{
boolean available;
@@ -133,22 +149,7 @@ public final class ExternalSpecifications
public static boolean isCDIAvailable(ExternalContext externalContext)
{
- if (cdiAvailable == null)
- {
- try
- {
- cdiAvailable = ClassUtils.classForName("javax.enterprise.inject.spi.BeanManager") != null;
- }
- catch (Throwable t)
- {
- //log.log(Level.FINE, "Error loading class (could be normal)", t);
- cdiAvailable = false;
- }
-
- log.info("MyFaces Core CDI support " + (cdiAvailable ? "enabled" : "disabled"));
- }
-
- return cdiAvailable &&
+ return cdiAvailable.get() &&
externalContext.getApplicationMap().containsKey(AbstractFacesInitializer.CDI_BEAN_MANAGER_INSTANCE);
}