Even een kleine situatieschets:
Samen met een collega ontwikkel ik op een linux tomcat bak.
We hebben beide een aparte webapp.
We gebruiken een ant script.
Met een sftp module plaatsen we de war op de server.
Momenteel maken we gebruik van autodeploy.
Wanneer mijn collega dit doet is er (in 95% van de gevallen) geen probleem. Wanneer ik dit doe is er (in 95% van de gevallen) wel een probleem. Wanneer ik redeploy crashed tomcat met volgende foutmelding:
Ik heb wat op internet gezocht maar niet zoveel gevonden. Het enige wat ik gevonden heb is dit:
http://threebit.net/mail-archive/tomcat-users/msg12038.html
Mijn applicatie is volgens de correcte specificaties ontwikkeld en ik heb zelf geen thread ergens in mijn code toegevoegd.
Om tomcat weer online te krijgen moet ik hem altijd herstarten waardoor ik de webapp van mijn collega ook plat leg. Op deze manier ontwikkelen is niet zo aangenaam.
Kan iemand mij wat op weg helpen om dit probleem op te lossen?
Samen met een collega ontwikkel ik op een linux tomcat bak.
We hebben beide een aparte webapp.
We gebruiken een ant script.
Met een sftp module plaatsen we de war op de server.
Momenteel maken we gebruik van autodeploy.
Wanneer mijn collega dit doet is er (in 95% van de gevallen) geen probleem. Wanneer ik dit doe is er (in 95% van de gevallen) wel een probleem. Wanneer ik redeploy crashed tomcat met volgende foutmelding:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.NullPointerException org.apache.log4j.spi.LocationInfo.<init>(LocationInfo.java:104) org.apache.log4j.spi.LoggingEvent.getLocationInformation(LoggingEvent.java:191) org.apache.log4j.helpers.PatternParser$LocationPatternConverter.convert(PatternParser.java:483) org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64) org.apache.log4j.PatternLayout.format(PatternLayout.java:503) org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358) org.apache.log4j.WriterAppender.append(WriterAppender.java:159) org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) org.apache.log4j.Category.callAppenders(Category.java:203) org.apache.log4j.Category.forcedLog(Category.java:388) org.apache.log4j.Category.log(Category.java:853) org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:110) org.apache.struts.tiles.commands.TilesPreProcessor.getRequiredDispatcher(TilesPreProcessor.java:274) org.apache.struts.tiles.commands.TilesPreProcessor.doForward(TilesPreProcessor.java:257) org.apache.struts.tiles.commands.TilesPreProcessor.execute(TilesPreProcessor.java:217) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) |
Ik heb wat op internet gezocht maar niet zoveel gevonden. Het enige wat ik gevonden heb is dit:
http://threebit.net/mail-archive/tomcat-users/msg12038.html
Hier staat jammer genoeg geen oplossing bij...I have had the same. The problem was not the redeploy, but the
un-deploy as part of the redeploy.
Can it be, that you have own threads running? At least it was my
problem, I had threads running, and dear mr. tomcat has already
deinitialized class loaders, so my classes lost their static variables
and a simple log.debug call ended in a null pointer.
Mijn applicatie is volgens de correcte specificaties ontwikkeld en ik heb zelf geen thread ergens in mijn code toegevoegd.
Om tomcat weer online te krijgen moet ik hem altijd herstarten waardoor ik de webapp van mijn collega ook plat leg. Op deze manier ontwikkelen is niet zo aangenaam.
Kan iemand mij wat op weg helpen om dit probleem op te lossen?