Spring app not deploying in debug mode - java

I've some kind of weird and frustrating bug wich block debug mode. It started suddenly and i can't get rid of it even trying to revert last changes.
When running my webApp in normal mode, it deploy and run properly, but when running it in debug mode, it can't finish, my last stacktrace info sais:
[...] INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/mvc/i18n.xml]
DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for WebApplicationContext for namespace 'appServlet-servlet': org.springframework.beans.factory.support.DefaultListableBeanFactory#2222af8c: defining beans [gruposTrabajoServiceImpl,usuarioServiceImpl,vacacionesServiceImpl,calendarioServiceImpl,administracionServiceImpl,empleadosServiceImpl,aeropuertosServiceImpl,rotacionesServiceImpl,rotacionesController,empleadosController,vacacionesController,aeropuertosController,loginController,includeController,administracionController,gruposTrabajoController,informesController,festivoDAOImpl,empleadoDAOImpl,limitacionDAOImpl,habilidadEmpDAOImpl,fpCalendarioEmpDAOImpl,autorizacionDAOImpl,minimosPatronDAOImpl,ceAnoEmpDAOImpl,poaUpaDAOImpl,turnoRotacionDAOImpl,patronRotacionDAOImpl,anoEmpDAOImpl,grupoTrabajoDAOImpl,incidenciaDiaDAOImpl,telefonoEmpDAOImpl,usuarioDAOImpl,escalaDAOImpl,limitacionEmpDAOImpl,visibleCntMinimosDAOImpl,configuracionContratoEscalaDAOImpl,puntuacionDAOImpl,vpCalendarioEmpDAOImpl,usuarioEscalaDAOImpl,anoEscalaDAOImpl,vpCupoGtDAOImpl,habilidadDAOImpl,formacionEmpDAOImpl,dominioDAOImpl,formacionDAOImpl,tipoTurnoDAOImpl,incidenciaDAOImpl,observacionDiaDAOImpl,rotacionDAOImpl,turnoDAOImpl,calendario,mes,perfilAspect,excelEscala,excelAnual_,excelEscala_,globalConstants,dominioConstants,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#1,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#2,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#3,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#3,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,messageSource,localeResolver,org.springframework.web.servlet.handler.MappedInterceptor#1]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory#4349e631
DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Using MessageSource [org.springframework.context.support.ResourceBundleMessageSource: basenames=[messages]]
DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster#6e3f6d73]
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory#2222af8c: defining beans [gruposTrabajoServiceImpl,usuarioServiceImpl,vacacionesServiceImpl,calendarioServiceImpl,administracionServiceImpl,empleadosServiceImpl,aeropuertosServiceImpl,rotacionesServiceImpl,rotacionesController,empleadosController,vacacionesController,aeropuertosController,loginController,includeController,administracionController,gruposTrabajoController,informesController,festivoDAOImpl,empleadoDAOImpl,limitacionDAOImpl,habilidadEmpDAOImpl,fpCalendarioEmpDAOImpl,autorizacionDAOImpl,minimosPatronDAOImpl,ceAnoEmpDAOImpl,poaUpaDAOImpl,turnoRotacionDAOImpl,patronRotacionDAOImpl,anoEmpDAOImpl,grupoTrabajoDAOImpl,incidenciaDiaDAOImpl,telefonoEmpDAOImpl,usuarioDAOImpl,escalaDAOImpl,limitacionEmpDAOImpl,visibleCntMinimosDAOImpl,configuracionContratoEscalaDAOImpl,puntuacionDAOImpl,vpCalendarioEmpDAOImpl,usuarioEscalaDAOImpl,anoEscalaDAOImpl,vpCupoGtDAOImpl,habilidadDAOImpl,formacionEmpDAOImpl,dominioDAOImpl,formacionDAOImpl,tipoTurnoDAOImpl,incidenciaDAOImpl,observacionDiaDAOImpl,rotacionDAOImpl,turnoDAOImpl,calendario,mes,perfilAspect,excelEscala,excelAnual_,excelEscala_,globalConstants,dominioConstants,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#1,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#2,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#3,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#3,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,messageSource,localeResolver,org.springframework.web.servlet.handler.MappedInterceptor#1,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory#4349e631
It always stays in the same place Pre-instantiating singletons in...
I've tried running my app in both Tomcat 7 and weblogic 10.3.4 but i get the same result.
Any idea? I'm lost without debug mode.
Thank you very much for your help

A long shot, but maybe you added some breakpoints to the code of one of your classes, and when in debug mode, the execution waits for you to explicitly signal it to continue?
You probably have some debug window open. What does it show there?

Just encountered the exact same issue with STS IDE version 3.6.4 and it seems that it was stopped at a breakpoint without highlighting it. Thus I was unawered of the situation. I cleared all of the breakpoints and it magically works now.

Related

spring boot does not read application.properties file when run on command line but works in STS

I am developing a desktop application with spring boot using the STS 4 IDE. Everything works fine inside STS, I have different properties files for different profiles and the main properties file application.properties all inside the resources folder
src/main/resources
application.properties
application-dev.properties
application-prod.properties
In the application.properties I define the environment and the packages to scan to find the entities for the two app databases:
spring.profiles.active=dev
wms.basepackage=com.wms
app.basepackage=es.app
I run the app using boot dasboard and everything is OK. The problem is when exporting the JAR and I execute it from the command using the instruction
java -jar -Dspring.profiles.active=dev RunableApp4.jar
The application fails with the error:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [es.app.InterfaceApplication]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'wms.basepackage' in value "${wms.basepackage}"
I noticed in the log Differences in steps for run the application from the command line than when run using STS:
STS STEPS (USING BOOT DASHBOARD):
es.app.InterfaceApplication Starting InterfaceApplication on matias-pc with PID 27945 (/home/matias/desarrollo/InterfaceApp/bin/main started by matias in /home/matias/desarrollo/InterfaceApp)
es.app.InterfaceApplication The following profiles are active: dev
o.s.boot.SpringApplication Loading source class es.app.InterfaceApplication
o.s.b.c.c.ConfigFileApplicationListener Activated activeProfiles dev
o.s.b.c.c.ConfigFileApplicationListener Profiles already activated, '[dev]' will not be applied
o.s.b.c.c.ConfigFileApplicationListener Loaded config file 'file:/home/matias/desarrollo/InterfaceApp/bin/main/application.properties' (classpath:/application.properties)
o.s.b.c.c.ConfigFileApplicationListener Loaded config file 'file:/home/matias/desarrollo/InterfaceApp/bin/main/application-dev.properties' (classpath:/application-dev.properties) for profile dev
m.s.d.r.c.RepositoryConfigurationDelegate Bootstrapping Spring Data JPA repositories in DEFAULT mode.
m.s.d.r.c.RepositoryConfigurationDelegate Finished Spring Data repository scanning in 60ms. Found 13 JPA repository interfaces.
m.s.d.r.c.RepositoryConfigurationDelegate Bootstrapping Spring Data JPA repositories in DEFAULT mode.
m.s.d.r.c.RepositoryConfigurationDelegate Finished Spring Data repository scanning in 8ms. Found 4 JPA repository interfaces.
The ConfigFileApplicationListener enters the scene and loads the main
application.properties file and the application-dev.properties environment file. Then the RepositoryConfigurationDelegate correctly loads the repositories
COMMAND LINE STEPS:
java -jar -Dspring.profiles.active=dev RunableApp4.jar
13:07:49.453 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Found key 'spring.profiles.active' in PropertySource 'systemProperties' with value of type String
13:07:49.455 [main] DEBUG org.springframework.core.env.StandardEnvironment - Activating profiles [dev]
13:07:49.455 [main] DEBUG org.springframework.core.env.StandardEnvironment - Activating profiles [dev]
3:07:49.537 [main] INFO es.app.InterfaceApplication - Starting InterfaceApplication on matias-pc with PID 32173 (/home/matias/Documentos/JARS/RunableApp4.jar started by matias in /home/matias/Documentos/JARS)
13:07:49.537 [main] DEBUG es.app.InterfaceApplication - Running with Spring Boot, Spring
13:07:49.537 [main] INFO es.app.InterfaceApplication - The following profiles are active: dev
13:07:49.538 [main] DEBUG org.springframework.boot.SpringApplication - Loading source class es.app.InterfaceApplication
13:07:49.580 [main] DEBUG org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext#7a1ebcd8
13:07:49.584 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
13:07:49.642 [main] DEBUG org.springframework.context.annotation.ClassPathBeanDefinitionScanner - Identified candidate component class: URL [jar:file:/home/matias/Documentos/JARS/RunableApp4.jar!/mx/gm3s/configuracion/ConfiguracionDSErp.class]
.
.
Read candidate components
13:07:49.861 [main] WARN org.springframework.context.annotation.AnnotationConfigApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [es.app.InterfaceApplication]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'wms.basepackage' in value "${wms.basepackage}"
13:07:49.864 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [es.app.InterfaceApplication]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'wms.basepackage' in value "${wms.basepackage}"
The ConfigFileApplicationListener and RepositorConfigurationDelegate do not arrive at the scene, The AnnotationConfigApplicationContext starts to scan components and fails due to being unable to resolve properties values.
I already tried to send properties file as argument but the result is the same:
java -jar -Dspring.profiles.active=dev -Dspring.config.location=file:/InterfaceApp/src/main/resources/application.properties RunableApp4.jar
The main classes are:
#SpringBootApplication
#Import(ConfigInterfaceApp.class)
#EnableScheduling
public class InterfaceApp {
public static void main(String[] args) {
SpringApplication.run(InterfaceApp.class, args);
}
#Configuration
#EnableAutoConfiguration
#ComponentScan(basePackages = {"${wms.basepackage}", "${app.basepackage}"})
public class ConfigInterfaceApp {
}
What am I doing wrong?
Read application.properties in your application as follows:
ClassLoader.class.getResourceAsStream("/path/to/application.properties");
Alternatively,
ClassLoader.getResourceAsStream("/application.properties");
would you try this one
java -jar RunableApp4.jar --spring.config.location=<relative-path-to-configs>/InterfaceApp/src/main/resources/ --spring.profiles.active=dev

Jetty Runner IDEA Community Logging

I am working on a project using Intellij IDEA Community, so I am using Jetty Runner to deploy my web application in localhost, everything is working ok, but I want to configure logs regarding Jetty, at server startup I see this kind of log :
14:50:20.516 [main] DEBUG o.eclipse.jetty.webapp.WebAppContext - isSystemResource==false org.springframework.expression.spel.ast.OpDec jar:file:/C:/Mario/development/spring/spring5/workspace/springsecurity/chapter02/chapter02.00-calendar/build/exploded/WEB-INF/lib/spring-expression-4.3.11.RELEASE.jar!/org/springframework/expression/spel/ast/OpDec.class
14:50:20.516 [main] DEBUG o.e.jetty.webapp.WebAppClassLoader - WAP webapp loaded class org.springframework.expression.spel.ast.OpDec
14:50:20.516 [main] DEBUG o.eclipse.jetty.webapp.WebAppContext - isSystemResource==false org.springframework.expression.spel.ast.OperatorNot jar:file:/C:/Mario/development/spring/spring5/workspace/springsecurity/chapter02/chapter02.00-calendar/build/exploded/WEB-INF/lib/spring-expression-4.3.11.RELEASE.jar!/org/springframework/expression/spel/ast/OperatorNot.class
14:50:20.517 [main] DEBUG o.e.jetty.webapp.WebAppClassLoader - WAP webapp loaded class org.springframework.expression.spel.ast.OperatorNot
1
I want to change the granularity from DEBUG to info regarding jetty server.
Put a jetty-logging.properties file in your resources folder and configure the logging there:
# Configure for System.err output
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
# Configure StdErrLog to log all jetty namespace at default of WARN or above
org.eclipse.jetty.LEVEL=INFO
More info here: https://www.eclipse.org/jetty/documentation/9.4.x/configuring-logging.html

log4j error message in repast simphony - batch run

when starting my Repast Simphony Model in Batch run I get this error message:
log4j:WARN No appenders could be found for logger (RLFA.society3.run.1.1).
log4j:WARN Please initialize the log4j system properly.
The answer here concerning log4j http://repast.sourceforge.net/docs/tutorial/SIM/Frequently%20Asked%20Questions.html#FrequentlyAskedQuestions-log4j doesn't help at all, since I got the problem ONLY when starting batch run. When starting the model normally everything is fine. And I also couldn't adapt any of the other log4j problems/answers here in stackoverflow, since that problem within Repast Simphony seems rather specific.
Anyone ran into this problem before and solved it? Or Maybe an idea, what this RLFA is?
Note: the error occurs when the model is fully initialized, during the first step.
Thanks for every help,
Andy
edit: in velocity.log I found this loggings, where it says that a VM_global_library.vm is missing - but does this help further?
2011-10-24 18:11:32,505 - SimpleLog4JLogSystem initialized using logfile 'velocity.log'
2011-10-24 18:11:32,506 - **************************************************************
2011-10-24 18:11:32,507 - Starting Jakarta Velocity v1.4
2011-10-24 18:11:32,507 - RuntimeInstance initializing.
2011-10-24 18:11:32,507 - Default Properties File: org\apache\velocity\runtime\defaults\velocity.properties
2011-10-24 18:11:32,507 - Trying to use logger class org.apache.velocity.runtime.log.SimpleLog4JLogSystem
2011-10-24 18:11:32,507 - Using logger class org.apache.velocity.runtime.log.SimpleLog4JLogSystem
2011-10-24 18:11:32,601 - Default ResourceManager initializing. (class org.apache.velocity.runtime.resource.ResourceManagerImpl)
2011-10-24 18:11:32,616 - Resource Loader Instantiated: org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
2011-10-24 18:11:32,616 - ClasspathResourceLoader : initialization starting.
2011-10-24 18:11:32,616 - ClasspathResourceLoader : initialization complete.
2011-10-24 18:11:32,662 - ResourceCache : initialized. (class org.apache.velocity.runtime.resource.ResourceCacheImpl)
2011-10-24 18:11:32,662 - Default ResourceManager initialization complete.
2011-10-24 18:11:32,672 - Loaded System Directive: org.apache.velocity.runtime.directive.Literal
2011-10-24 18:11:32,681 - Loaded System Directive: org.apache.velocity.runtime.directive.Macro
2011-10-24 18:11:32,732 - Loaded System Directive: org.apache.velocity.runtime.directive.Parse
2011-10-24 18:11:32,743 - Loaded System Directive: org.apache.velocity.runtime.directive.Include
2011-10-24 18:11:32,754 - Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
2011-10-24 18:11:33,001 - Created: 20 parsers.
2011-10-24 18:11:33,131 - Velocimacro : initialization starting.
2011-10-24 18:11:33,132 - Velocimacro : adding VMs from VM library template : VM_global_library.vm
2011-10-24 18:11:33,182 - ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
2011-10-24 18:11:33,182 - Velocimacro : error using VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'
2011-10-24 18:11:33,182 - Velocimacro : VM library template macro registration complete.
2011-10-24 18:11:33,182 - Velocimacro : allowInline = true : VMs can be defined inline in templates
2011-10-24 18:11:33,182 - Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
2011-10-24 18:11:33,182 - Velocimacro : allowInlineLocal = false : VMs defined inline will be global in scope if allowed.
2011-10-24 18:11:33,183 - Velocimacro : messages on : VM system will output logging messages
2011-10-24 18:11:33,183 - Velocimacro : autoload off : VM system will not automatically reload global library macros
2011-10-24 18:11:33,183 - Velocimacro : initialization complete.
2011-10-24 18:11:33,183 - Velocity successfully started.
The problem was that I forgot to define an Outputter in Repast Simphony.
From Repast FAQ:
https://repast.github.io/docs/RepastSimphonyFAQ.pdf
3.4 log4j:WARN No appenders could be found for logger (MessageCen- ter. INTERNAL.repast.simphony.ui.RSUIPlugin)
Several people have reported errors when trying to start a Repast
Simphony model such as log4j:WARN No appenders could be found for
logger (MessageCenter. INTERNAL.repast.simphony.ui.RSApplication ).
log4j:WARN Please initialize the log4j system properly. with some
variability in the (MessageCenter....) part.
In almost all cases, this warning is NOT actually related to logging
configuration errors, and more likely it is related to problems in the
model.score file like incorrect paths, or missing agent class files.
When you start a Repast model and you get the log4j message in the
Eclipse console, you can usually found more information from the
Repast runtime error log. The error log is available when the icon in
the lower right corner of the Repast runtime is flashing.
I tried to run a RepastSymphony model from the command line and also had an error message about log4j appenders. For me the solution was to include the project directory, where my MessageCenter.log4j.properties file is located, in the class path, e.g
-cp ='.;./bin/.;./lib/*;
instead of only
-cp ='./bin/.;./lib/*;

Unable to run struts program

I developed one web applications using struts. Now when i tried to run in another machine I am getting the following error. Following is taken from glassfish server log
SEVERE: INFO [http-thread-pool-8080-(1)] (CommonsLogger.java:31) - Parsing configuration file [struts-default.xml]
SEVERE: INFO [http-thread-pool-8080-(1)] (CommonsLogger.java:31) - Unable to locate configuration files of the name struts-plugin.xml, skipping
SEVERE: INFO [http-thread-pool-8080-(1)] (CommonsLogger.java:31) - Parsing configuration file [struts-plugin.xml]
SEVERE: INFO [http-thread-pool-8080-(1)] (CommonsLogger.java:31) - Parsing configuration file [struts.xml]
SEVERE: INFO [http-thread-pool-8080-(1)] (CommonsLogger.java:31) - Loading global messages from ApplicationResources
Also in the browser I am getting java.lang.reflect.InvocationTargetExceptionthis message. Please tell me where the problem lies.
This seems to be a similar problem to what is described in this article:
http://www.java.net/node/705006
It appears to be a GlassFish bug to incorrectly put "SEVERE:" before the log message that actually starts with "INFO".
FYI I came across this with SL4J and Glassfish 3.1. The exact same code logging via the JUL logger works perfectly, and then you get the "SEVERE:" when you swap it out with a proper logger.
Sadly I have not been able to find a resolution, and will post it when I find it. It is equally possible that they re-fix the bug in the next version of GlassFish.

Extracting startup errors from Spring contexts

Consider the following output from a Tomcat server under Eclipse:
INFO: Initializing Coyote HTTP/1.1 on http-8080
INFO: Initialization processed in 634 ms
INFO: Starting service Catalina
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
SEVERE: Error listenerStart
SEVERE: Context [/MyServlet] startup failed due to previous errors
I would like to figure out what exception caused "Error listenerStart", but Spring seems to be preventing me from finding the error via Eclipse. I'd love to start Catalina manually, but that doesn't seem to do anything.
What's the best way to find the hidden exception? I'm not afraid to use torture methods.
In my case, the answer was:
Debug java.util.logging.SimpleLogger to find out what exceptions were being hidden.
Figure out that my logging.properties file, cut-and-pasted from the Tomcat docs, was bunk. Several exceptions were going into black holes in log files (maybe they weren't flushed)? Switching everything to a single ConsoleLogger enabled me to see all exceptions.
Make sure that -Djava.util.logging.config.file="/<path>/logging.properties" was present in my Run Configuration.
Try to configure logger (Log4j for example) and log errors to console.
Check tomcat's logs directory, see if it logged to an alternate log file.

Categories