I'm having a bit of trouble getting turbine to run under ServletExec 3.0 and
Microsoft IIS under Windows NT. I installed a local copy on my machine and
was able to get everything running correctly with Tomcat. However, when I
attempted to install my "webapp" on the server I ran into several problems,
all of which I think stem from one common issue.
When Turbine, Velocity, and ECS all initialize, they have a lot of trouble
finding their configuration files. ECS quits nicely without too much of a
problem. Turbine and Velocity do not. The following is a clip from the
logs:
[Fri May 18 10:16:39 CDT 2001] java.lang.NullPointerException
[Fri May 18 10:16:39 CDT 2001] java.lang.NullPointerException
[Fri May 18 10:16:39 CDT 2001] at java.io.Reader.<init>(Unknown Source)
[Fri May 18 10:16:39 CDT 2001] at java.io.InputStreamReader.<init>(Unknown
Source)
[Fri May 18 10:16:39 CDT 2001] at java.io.InputStreamReader.<init>(Unknown
Source)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.ja
va:459)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.ja
va:429)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.velocity.runtime.Runtime.setDefaultProperties(Runtime.java:276)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.velocity.runtime.Runtime.initializeProperties(Runtime.java:397)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.velocity.runtime.Runtime.init(Runtime.java:234)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.velocity.app.Velocity.init(Velocity.java:125)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.velocity.TurbineVelocityService.initVelocity(Tur
bineVelocityService.java:450)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.velocity.TurbineVelocityService.init(TurbineVelo
cityService.java:136)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.TurbineBaseService.init(TurbineBaseService.java:
108)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.BaseInitableBroker.initClass(BaseInitableBroker.
java:150)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.BaseServiceBroker.doInitService(BaseServiceBroke
r.java:207)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.services.BaseServiceBroker.initServices(BaseServiceBroker
.java:175)
[Fri May 18 10:16:39 CDT 2001] at
org.apache.turbine.Turbine.init(Turbine.java:185)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ServletExec.CallServletInit(ServletExec.java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ApplServletContext.CreateServlet(ApplServletConte
xt.java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ApplServletContext.loadConfiguredServlet(ApplServ
letContext.java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ApplServletContext.getServlet(ApplServletContext.
java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.j
ava)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInf
o.java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo.
java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
[Fri May 18 10:16:39 CDT 2001] at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
[Fri May 18 10:16:45 CDT 2001] Cannot find org.apache.ecs.ecs.properties.
Several things are important here - first, turbine seems to continue despite
the error. Also, there is about a 4-7 second delay between the ecs
initialization error and the turbine errors. This is very noticeable on the
client side while accessing the servlet. The servlet will continue to
display stack traces once the delay is up. Note the following:
The turbine.log file doesn't indicates the following:
[Fri May 18 10:16:45 CDT 2001] -- ERROR -- Turbine.handleException: null
[Fri May 18 10:16:45 CDT 2001] -- ERROR --
Exception: java.lang.ExceptionInInitializerError
Stack Trace follows:
java.lang.ExceptionInInitializerError:
java.lang.NullPointerException
at org.apache.ecs.ECSDefaults.<clinit>(ECSDefaults.java:81)
at org.apache.ecs.GenericElement.<init>(GenericElement.java:92)
at
org.apache.ecs.ElementAttributes.<init>(ElementAttributes.java:75)
at org.apache.ecs.ConcreteElement.<init>(ConcreteElement.java:83)
at org.apache.ecs.MultiPartElement.<init>(MultiPartElement.java:69)
at org.apache.ecs.html.Html.<init>(Html.java:66)
at org.apache.ecs.Document.<init>(Document.java:87)
at
org.apache.turbine.services.rundata.DefaultTurbineRunData.getPage(DefaultTur
bineRunData.java:612)
at
org.apache.turbine.modules.pages.DefaultPage.setDefaultDoctype(DefaultPage.j
ava:236)
at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:148)
at org.apache.turbine.modules.Page.build(Page.java:90)
at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123)
at org.apache.turbine.Turbine.doGet(Turbine.java:444)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java)
at
com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.j
ava)
at
com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInf
o.java)
at
com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo.
java)
at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
[Fri May 18 10:16:45 CDT 2001] -- ERROR -- null
Exception: java.lang.NoClassDefFoundError
Stack Trace follows:
java.lang.NoClassDefFoundError
at org.apache.ecs.GenericElement.<init>(GenericElement.java:92)
at
org.apache.ecs.ElementAttributes.<init>(ElementAttributes.java:75)
at org.apache.ecs.ConcreteElement.<init>(ConcreteElement.java:83)
at org.apache.ecs.MultiPartElement.<init>(MultiPartElement.java:69)
at org.apache.ecs.html.Html.<init>(Html.java:66)
at org.apache.ecs.Document.<init>(Document.java:87)
at
org.apache.turbine.services.rundata.DefaultTurbineRunData.getPage(DefaultTur
bineRunData.java:612)
at
org.apache.turbine.modules.pages.DefaultPage.setDefaultDoctype(DefaultPage.j
ava:236)
at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:148)
at org.apache.turbine.modules.Page.build(Page.java:90)
at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123)
at org.apache.turbine.Turbine.handleException(Turbine.java:588)
at org.apache.turbine.Turbine.doGet(Turbine.java:502)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java)
at
com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.j
ava)
at
com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInf
o.java)
at
com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo.
java)
at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java)
The velocity.log file has not been written to.
The servlet.log() method generates standard information - it doesn't look
like there's anything awry.
It looks like a standard "I forgot to configure the directories" error - but
I have, very thoroughly, checked the directory and file permissions and the
configuration within the base config files to make sure everything is
pointing to the correct places.
I've tried the following versions of the software:
velocity-1.0 and 1.1-dev
turbine-2.1b1
Any help would be greatly appreciated :)
Bradford A. Folkens
Programmer / Software Engineer
[EMAIL PROTECTED]
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]