You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@turbine.apache.org by "Conneen, Mike" <mc...@nisource.com> on 2001/04/26 16:58:10 UTC

TurbineServletService & WebSphere 3.5

Folks,

We are using JetSpeed on IBM WebSphere 3.5 running on NT4/SP6.  A few weeks ago, Stephan posted a follow up to a thread c/o a fix put into the ServletEngineContextService.  It was this fix that actually got JetSpeed working.  Follow the "More Websphere Troubles" on the jetspeed-user list for details.

With current builds (jetspeed yesterday and turbine today), things are once again broke.  Raphael has pointed me to this list indicating that the ServletEngineContextService has been removed in favor of the TurbineServletService.

I pulled the code base today and see the following in the TurbineServletService.getResource method..

            // work-around for Websphere 3.52
            if (url != null && url.toString().startsWith("classloader:"))
            {
                url = new URL("file:" + url.toString().substring(12));
            }

I suspect it should read as the ServletEngineContextService did..

            // work-around for Websphere 3.52
            if (url != null && url.toString().startsWith("classloader:"))
            {
                url = new URL("file:" + url.toString().substring(12));
            } else {
               // mlc 2001/04/26
               if (url==null) {
                   url = new URL("file:" + getServletContext().getRealPath(uri));
               }

            }

It does appear that websphere has a "null" url which can be substituted with new URL("file:" + getServletContext().getRealPath(uri)).. But I'm not sure.  I am in the process of making what I feel might be the correct changes, and will test..

Has anyone else seen this problem?

Here is a snippet of the exception..

[Wed Apr 25 09:46:26 CDT 2001] -- ERROR -- Could not initialize the RegistryManager:
        Exception:  java.lang.NullPointerException
        Stack Trace follows:
        java.lang.NullPointerException
        at org.apache.turbine.services.servlet.TurbineServletService.getResource(TurbineServletService.java:179)
        at org.apache.turbine.services.servlet.TurbineServlet.getResource(TurbineServlet.java:95)
        at org.apache.jetspeed.cache.disk.DiskCacheUtils.getLocalURL(DiskCacheUtils.java:164)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCache.getEntry(JetspeedDiskCache.java:219)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCache.getEntry(JetspeedDiskCache.java:184)
        at org.apache.jetspeed.services.registrymanager.JetspeedConfigRegistryManagerService.init(JetspeedConfigRegistryManagerService.java:290)
        at org.apache.turbine.services.TurbineBaseService.init(TurbineBaseService.java:112)
        at org.apache.turbine.services.BaseInitableBroker.initClass(BaseInitableBroker.java:152)
        at org.apache.turbine.services.BaseServiceBroker.doInitService(BaseServiceBroker.java:206)
        at org.apache.turbine.services.BaseServiceBroker.initServices(BaseServiceBroker.java:174)
        at org.apache.turbine.Turbine.init(Turbine.java:183)
        at com.ibm.servlet.engine.webapp.StrictServletInstance.doInit(ServletManager.java:604)
        at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._init(StrictLifecycleServlet.java:136)
        at com.ibm.servlet.engine.webapp.PreInitializedServletState.init(StrictLifecycleServlet.java:244)
        at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.init(StrictLifecycleServlet.java:102)
        at com.ibm.servlet.engine.webapp.ServletInstance.init(ServletManager.java:284)
        at javax.servlet.GenericServlet.init(GenericServlet.java:258)
        at com.ibm.servlet.engine.webapp.ServletManager.addServlet(ServletManager.java:76)
        at com.ibm.servlet.engine.webapp.WebAppServletManager.loadServlet(WebAppServletManager.java:91)
        at com.ibm.servlet.engine.webapp.WebAppServletManager.loadAutoLoadServlets(WebAppServletManager.java:158)
        at com.ibm.servlet.engine.webapp.WebApp.loadServletManager(WebApp.java:802)
        at com.ibm.servlet.engine.webapp.WebApp.init(WebApp.java:89)
        at com.ibm.servlet.engine.srt.WebGroup.loadWebApp(WebGroup.java:121)
        at com.ibm.servlet.engine.srt.WebGroup.init(WebGroup.java:82)
        at com.ibm.servlet.engine.ServletHost.addWebGroup(ServletHost.java:109)
        at com.ibm.servlet.engine.ServletEngineDynamicUpdateSupport.addWebGroup(ServletEngineDynamicUpdateSupport.java:126)
        at com.ibm.ejs.sm.active.ActiveServletGroup.startAction(ActiveServletGroup.java:76)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(ActiveObject.java:584)
        at com.ibm.ejs.sm.active.ActiveServletEngine.startAction(ActiveServletEngine.java:60)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(ActiveObject.java:584)
        at com.ibm.ejs.sm.active.ActiveEJBServer.startAction(ActiveEJBServer.java:96)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.ibm.ejs.sm.agent.AdminAgentImpl.activeObjectInvocation(AdminAgentImpl.java:93)
        at com.ibm.ejs.sm.agent.AdminAgentImpl.invokeActiveObject(AdminAgentImpl.java:62)
        at com.ibm.ejs.sm.agent._AdminAgentImpl_Tie._invoke(_AdminAgentImpl_Tie.java:80)
        at com.ibm.CORBA.iiop.ExtendedServerDelegate.dispatch(ExtendedServerDelegate.java:506)
        at com.ibm.CORBA.iiop.ORB.process(ORB.java:2261)
        at com.ibm.CORBA.iiop.WorkerThread.run(WorkerThread.java:195)
        at com.ibm.ejs.oa.pool.ThreadPool$PooledThread.run(ThreadPool.java:535)

[Wed Apr 25 09:46:26 CDT 2001] -- INFO -- DiskCache: this URL can't be stored in cache... providing it directly.
[Wed Apr 25 09:46:26 CDT 2001] -- ERROR --
        Exception:  java.net.MalformedURLException: no protocol:
        Stack Trace follows:
        java.net.MalformedURLException: no protocol:
        at java.net.URL.<init>(URL.java:513)
        at java.net.URL.<init>(URL.java:366)
        at java.net.URL.<init>(URL.java:310)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCacheEntry.init(JetspeedDiskCacheEntry.java:162)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCacheEntry.<init>(JetspeedDiskCacheEntry.java:148)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCache.getEntry(JetspeedDiskCache.java:256)
        at org.apache.jetspeed.cache.disk.JetspeedDiskCache.getEntry(JetspeedDiskCache.java:184)
        at org.apache.jetspeed.services.registrymanager.JetspeedConfigRegistryManagerService.loadConfig(JetspeedConfigRegistryManagerService.java:475)
        at org.apache.jetspeed.services.registrymanager.JetspeedConfigRegistryManagerService.init(JetspeedConfigRegistryManagerService.java:307)
        at org.apache.turbine.services.TurbineBaseService.init(TurbineBaseService.java:112)
        at org.apache.turbine.services.BaseInitableBroker.initClass(BaseInitableBroker.java:152)
        at org.apache.turbine.services.BaseServiceBroker.doInitService(BaseServiceBroker.java:206)
        at org.apache.turbine.services.BaseServiceBroker.initServices(BaseServiceBroker.java:174)
        at org.apache.turbine.Turbine.init(Turbine.java:183)
        at com.ibm.servlet.engine.webapp.StrictServletInstance.doInit(ServletManager.java:604)
        at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._init(StrictLifecycleServlet.java:136)
        at com.ibm.servlet.engine.webapp.PreInitializedServletState.init(StrictLifecycleServlet.java:244)
        at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.init(StrictLifecycleServlet.java:102)
        at com.ibm.servlet.engine.webapp.ServletInstance.init(ServletManager.java:284)
        at javax.servlet.GenericServlet.init(GenericServlet.java:258)
        at com.ibm.servlet.engine.webapp.ServletManager.addServlet(ServletManager.java:76)
        at com.ibm.servlet.engine.webapp.WebAppServletManager.loadServlet(WebAppServletManager.java:91)
        at com.ibm.servlet.engine.webapp.WebAppServletManager.loadAutoLoadServlets(WebAppServletManager.java:158)
        at com.ibm.servlet.engine.webapp.WebApp.loadServletManager(WebApp.java:802)
        at com.ibm.servlet.engine.webapp.WebApp.init(WebApp.java:89)
        at com.ibm.servlet.engine.srt.WebGroup.loadWebApp(WebGroup.java:121)
        at com.ibm.servlet.engine.srt.WebGroup.init(WebGroup.java:82)
        at com.ibm.servlet.engine.ServletHost.addWebGroup(ServletHost.java:109)
        at com.ibm.servlet.engine.ServletEngineDynamicUpdateSupport.addWebGroup(ServletEngineDynamicUpdateSupport.java:126)
        at com.ibm.ejs.sm.active.ActiveServletGroup.startAction(ActiveServletGroup.java:76)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(ActiveObject.java:584)
        at com.ibm.ejs.sm.active.ActiveServletEngine.startAction(ActiveServletEngine.java:60)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(ActiveObject.java:584)
        at com.ibm.ejs.sm.active.ActiveEJBServer.startAction(ActiveEJBServer.java:96)
        at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:682)
        at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:117)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.ibm.ejs.sm.agent.AdminAgentImpl.activeObjectInvocation(AdminAgentImpl.java:93)
        at com.ibm.ejs.sm.agent.AdminAgentImpl.invokeActiveObject(AdminAgentImpl.java:62)
        at com.ibm.ejs.sm.agent._AdminAgentImpl_Tie._invoke(_AdminAgentImpl_Tie.java:80)
        at com.ibm.CORBA.iiop.ExtendedServerDelegate.dispatch(ExtendedServerDelegate.java:506)
        at com.ibm.CORBA.iiop.ORB.process(ORB.java:2261)
        at com.ibm.CORBA.iiop.WorkerThread.run(WorkerThread.java:195)
        at com.ibm.ejs.oa.pool.ThreadPool$PooledThread.run(ThreadPool.java:535)
<snip>

Michael L. Conneen
NiSource Contractor
SLC:(219)647-4120

http://www.infointegrators.com
Office:(219)865-9598
Wireless:(219)201-6192

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org


Re: TurbineServletService & WebSphere 3.5

Posted by Jon Stevens <jo...@latchkey.com>.
on 4/26/01 7:58 AM, "Conneen, Mike" <mc...@nisource.com> wrote:

> I suspect it should read as the ServletEngineContextService did..
> 
>           // work-around for Websphere 3.52
>           if (url != null && url.toString().startsWith("classloader:"))
>           {
>               url = new URL("file:" + url.toString().substring(12));
>           } else {
>              // mlc 2001/04/26
>              if (url==null) {
>                  url = new URL("file:" +
> getServletContext().getRealPath(uri));
>              }
> 
>           }

I just checked in something similar to this...

In the future, send a diff that has code that follows the Turbine Coding
Conventions and also please test the code first. :-)

Thanks!

-jon


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org