You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2021/11/16 15:04:22 UTC
[tomee] branch master updated: TOMEE-3815 Adding logging messages
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
The following commit(s) were added to refs/heads/master by this push:
new dde3bd1 TOMEE-3815 Adding logging messages
dde3bd1 is described below
commit dde3bd155422fd388561dbf386a6ee78e3261f71
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Tue Nov 16 14:43:07 2021 +0000
TOMEE-3815 Adding logging messages
---
.../java/org/apache/openejb/cdi/CdiScanner.java | 23 ++++++++++++++++++++++
.../org/apache/openejb/cdi/OpenEJBLifecycle.java | 7 ++++++-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
index dd37209..022ef86 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
@@ -61,6 +61,7 @@ import static java.util.Arrays.asList;
* @version $Rev:$ $Date:$
*/
public class CdiScanner implements BdaScannerService {
+ private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_CDI, OpenEJBLifecycle.class);
public static final String OPENEJB_CDI_FILTER_CLASSLOADER = "openejb.cdi.filter.classloader";
private static final Class<?>[] TRANSACTIONAL_INTERCEPTORS = new Class<?>[]{
@@ -310,6 +311,10 @@ public class CdiScanner implements BdaScannerService {
if (isBean(clazz)) {
classes.add(clazz);
if (beans.startupClasses.contains(name)) {
+ logger.debug("Adding class " + clazz.getName()
+ + " from " + getLocation(clazz) + " to startup list. Scan mode="
+ + information.getBeanDiscoveryMode().toString() + ". EAR webapp=" + !isNotEarWebApp);
+
startupClasses.add(clazz);
}
}
@@ -322,6 +327,11 @@ public class CdiScanner implements BdaScannerService {
|| ((loader.equals(scl) || loader == containerLoader) && isNotEarWebApp)) {
classes.add(clazz);
if (beans.startupClasses.contains(name)) {
+ logger.debug("Adding class " + clazz.getName()
+ + " from " + getLocation(clazz)
+ + " to startup list. Scan mode=" + information.getBeanDiscoveryMode().toString()
+ + ". EAR webapp=" + !isNotEarWebApp);
+
startupClasses.add(clazz);
}
}
@@ -410,4 +420,17 @@ public class CdiScanner implements BdaScannerService {
public Set<Class<?>> getStartupClasses() {
return startupClasses;
}
+
+ public static String getLocation(final Class<?> clazz) {
+
+ if (clazz != null
+ && clazz.getProtectionDomain() != null
+ && clazz.getProtectionDomain().getCodeSource() != null
+ && clazz.getProtectionDomain().getCodeSource().getLocation() != null) {
+
+ return clazz.getProtectionDomain().getCodeSource().getLocation().toString();
+ }
+
+ return "<not available>";
+ }
}
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
index 6fec759..cf84155 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
@@ -262,8 +262,13 @@ public class OpenEJBLifecycle implements ContainerLifecycle {
private void starts(final BeanManager beanManager, final Class<?> clazz) {
final Bean<?> bean = beanManager.resolve(beanManager.getBeans(clazz));
+
+ logger.debug("Starting bean " + clazz.getName());
if (!beanManager.isNormalScope(bean.getScope())) {
- throw new IllegalStateException("Only normal scoped beans can use @Startup - likely @ApplicationScoped");
+ throw new IllegalStateException("Unable to start bean " + clazz.getName() +
+ ", from " + CdiScanner.getLocation(clazz) +
+ ", with scope " + bean.getScope().getName() +
+ ". Only normal scoped beans can use @Startup (e.g. @ApplicationScoped)");
}
final CreationalContext<Object> creationalContext = beanManager.createCreationalContext(null);