Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
1.0-M3
-
None
-
None
Description
If a GBean fails to start, the error message generated is (for example):
org.apache.geronimo.kernel.config.InvalidConfigException: Invalid GBean configuration for geronimo.config:name="org/apache/geronimo/Server"
at org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:379)
at org.apache.geronimo.system.main.Daemon.main(Daemon.java:150)
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
The problem is, it's not usually an invalid GBean configuration (which says to me, a syntax error in a config file or the like). The GBean configuration is fine, it's really a startup error. The message would be better if it said "Unable to start GBean XYZ, see the 'Caused By:' message below"
This commonly happens for network services when the port is already in use as above (arguably a configuration problem, but the user has typically done no configuration at all when it happens, because they probably just started Geronimo for the first time).
It commonly happens for applications when there's some sort of classloader problem resulting in the wrong classes being loaded or a class not being found. (For example, Struts/Spring/Hibernate type web apps have a lot of Jakarta Common dependencies, and Tomcat supplies some of those that Geronimo doesn't, so an app that worked in Tomcat may not work in Geronimo if all the commons stuff isn't in the WAR).