Hello, 

I am currently using a jetspeed version I have checked out last week.
This version work well but after about 5 minutes I have the following
exception :

Horrible Exception: org.apache.jetspeed.om.profile.ProfileException:
java.lang.ClassCastException:
org.apache.jetspeed.om.profile.BasePSMLDocument at
org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(Jet
speedProfilerService.java:310) at
org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(Jet
speedProfilerService.java:336) at
org.apache.jetspeed.services.Profiler.getProfile(Profiler.java:121) at
org.apache.jetspeed.modules.actions.JetspeedSessionValidator.doPerform(Jetsp
eedSessionValidator.java:126) at
org.apache.turbine.modules.Action.perform(Action.java:87) at
org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122) at
org.apache.turbine.Turbine.doGet(Turbine.java:405) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at
org.apache.tomcat.core.Handler.service(Handler.java:286) at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210) at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484) 



I think I  found where does the problem come from :

When the PSMLManager refresh PSML Documents, It calls the following method :
    public PSMLDocument getDocument( String name )
In this method there is a call to :
        .....
                documents.put(name, new WeakReference(doc));
        .....

In another method  :  PSMLDocument getDocument( ProfileLocator locator ),
there is a call to :
        .....
       synchronized (documents)
        {
            ref = (WeakReference)documents.get(name);
        }
        
        if (ref != null)
        {
            profile = (Profile)ref.get();
        }
          ..... 

This method (ref.get()) throws a ClassCastException, because we don't have a
Profile but a Document in the ref....

I hope that this is clear and that I am right .....

Could you tell me if it is a bug ?

Thanks....


> Christophe Mestrallet
> Chef de projet
> Axemble
> for Corporate Departments
> [EMAIL PROTECTED]
> www.axemble.com
> Tel : 04 78 87 29 29
> Fax : 04 78 87 29 00
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to