[MAGNOLIA-1363] ClassNotFound logged when a module configuration lacks a classname Created: 08/Feb/07  Updated: 23/Jan/13  Resolved: 08/Feb/07

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: 3.0.1
Fix Version/s: 3.0.2, 3.1 M1

Type: Bug Priority: Major
Reporter: Fabrizio Giustina Assignee: Fabrizio Giustina
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 Description   

issue related to MAGNOLIA-1345

when a /modules/<modulename> config is available in the config repository without a proper module definition magnolia adds a fake module definition and then tries to load a class named "" throwing a classNotFound exception.

This happens when you try to install the workflow module without the dms one: the workflow modules add commands into the /modules/dms/... path, so at restart this is what happens:

WARN info.magnolia.cms.beans.config.ModuleRegistration ModuleRegistration.java(addAdHocDefinitions:206) 08.02.2007 22:47:33 no proper module definition file found for [dms]: will add an adhoc definition
ERROR info.magnolia.cms.beans.config.ModuleRegistration ModuleRegistration.java(registerModule:382) 08.02.2007 22:47:34 can't register module [dms] due to a java.lang.ClassNotFoundException exception:
java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at info.magnolia.cms.util.ClassUtil.classForName(ClassUtil.java:50)
at info.magnolia.cms.util.ClassUtil.newInstance(ClassUtil.java:65)
at info.magnolia.cms.beans.config.ModuleRegistration.registerModule(ModuleRegistration.java:314)
at info.magnolia.cms.beans.config.ModuleRegistration.registerModules(ModuleRegistration.java:297)
at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:130)
at info.magnolia.cms.beans.config.ConfigLoader.<init>(ConfigLoader.java:100)
at info.magnolia.cms.servlets.PropertyInitializer.contextInitialized(PropertyInitializer.java:212)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)



 Comments   
Comment by Fabrizio Giustina [ 08/Feb/07 ]

fixed by avoiding fake definitions for module configurations that don't have a classname at all. See MAGNOLIA-1345 for more generic issues related to modules that add configurations into other maybe not installed modules.

Generated at Mon Feb 12 03:26:11 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.