You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Pierre Goupil <go...@gmail.com> on 2012/03/18 22:08:28 UTC

Wicket 1.5: sessions

Good evening,

I'm currently in the process of migrating my app from Wicket 1.4 to Wicket
1.5. I've read the migration guide and everything seems to go fine, except
for session management.

Here's my code:

public class MySession extends WebSession
{

  public static MySession get()
    {
        return (MySession)Session.get();
    }

}

When call, the get() method gives this stacktrace:

Caused by: java.lang.ClassCastException:
org.apache.wicket.protocol.http.WebSession cannot be cast to MySession

Any help, please?

Regards,

Pierre Goupil

Re: Wicket 1.5: sessions

Posted by Pierre Goupil <go...@gmail.com>.
No, I have it as a transitive dependency in my POM, so it is in my
classpath.

Thanks for the quick assistance!

Regards,

Pierre


On Tue, Mar 20, 2012 at 9:57 PM, Sven Meier <sv...@meiers.net> wrote:

> You're missing the wicket-request jar.
>
> Sven
>
>
> On 03/20/2012 08:38 PM, Pierre Goupil wrote:
>
>> You were absolutely right, Sven! Now, my unit tests pass and I can launch
>> my app. But amongst some minor problems, I have this exception in my
>> start-up logs:
>>
>> java.lang.**NoClassDefFoundError: org/apache/wicket/request/**Request
>>     at java.lang.Class.**getDeclaredMethods0(Native Method)
>>     at java.lang.Class.**privateGetDeclaredMethods(**Class.java:2444)
>>     at java.lang.Class.**getDeclaredMethods(Class.java:**1808)
>>     at
>> org.springframework.orm.jpa.**support.**PersistenceAnnotationBeanPostP**
>> rocessor.**findPersistenceMetadata(**PersistenceAnnotationBeanPostP**
>> rocessor.java:382)
>>     at
>> org.springframework.orm.jpa.**support.**PersistenceAnnotationBeanPostP**
>> rocessor.**postProcessMergedBeanDefinitio**n(**
>> PersistenceAnnotationBeanPostP**rocessor.java:320)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.**applyMergedBeanDefinitionPostP**
>> rocessors(**AbstractAutowireCapableBeanFac**tory.java:798)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.doCreateBean(**
>> AbstractAutowireCapableBeanFac**tory.java:493)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.createBean(**
>> AbstractAutowireCapableBeanFac**tory.java:456)
>>     at
>> org.springframework.beans.**factory.support.**AbstractBeanFactory$1.**
>> getObject(AbstractBeanFactory.**java:293)
>>     at
>> org.springframework.beans.**factory.support.**
>> DefaultSingletonBeanRegistry.**getSingleton(**
>> DefaultSingletonBeanRegistry.**java:222)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractBeanFactory.doGetBean(**AbstractBeanFactory.java:290)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractBeanFactory.getBean(**AbstractBeanFactory.java:192)
>>     at
>> org.springframework.beans.**factory.support.**DefaultListableBeanFactory.
>> **preInstantiateSingletons(**DefaultListableBeanFactory.**java:585)
>>     at
>> org.springframework.context.**support.**AbstractApplicationContext.**
>> finishBeanFactoryInitializatio**n(AbstractApplicationContext.**java:895)
>>     at
>> org.springframework.context.**support.**AbstractApplicationContext.**
>> refresh(**AbstractApplicationContext.**java:425)
>>     at
>> org.springframework.web.**context.ContextLoader.**
>> createWebApplicationContext(**ContextLoader.java:282)
>>     at
>> org.springframework.web.**context.ContextLoader.**
>> initWebApplicationContext(**ContextLoader.java:204)
>>     at
>> org.springframework.web.**context.ContextLoaderListener.**
>> contextInitialized(**ContextLoaderListener.java:47)
>>     at
>> org.apache.catalina.core.**StandardContext.listenerStart(**
>> StandardContext.java:4723)
>>     at
>> org.apache.catalina.core.**StandardContext$1.call(**
>> StandardContext.java:5226)
>>     at
>> org.apache.catalina.core.**StandardContext$1.call(**
>> StandardContext.java:5221)
>>     at java.util.concurrent.**FutureTask$Sync.innerRun(**
>> FutureTask.java:334)
>>     at java.util.concurrent.**FutureTask.run(FutureTask.**java:166)
>>     at
>> java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>> ThreadPoolExecutor.java:1110)
>>     at
>> java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>> ThreadPoolExecutor.java:603)
>>     at java.lang.Thread.run(Thread.**java:636)
>> Caused by: java.lang.**ClassNotFoundException:
>> org.apache.wicket.request.**Request
>>     at
>> org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1678)
>>     at
>> org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1523)
>>     at java.lang.ClassLoader.**loadClassInternal(ClassLoader.**java:334)
>>     ... 26 more
>> 20 mars 2012 20:27:17 org.apache.catalina.core.**StandardContext
>> listenerStart
>> GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
>> (context initialized) à l'instance de classe d'écoute (listener)
>> org.springframework.web.**context.ContextLoaderListener
>> java.lang.**NoClassDefFoundError: org/apache/wicket/request/**Request
>>     at java.lang.Class.**getDeclaredMethods0(Native Method)
>>     at java.lang.Class.**privateGetDeclaredMethods(**Class.java:2444)
>>     at java.lang.Class.**getDeclaredMethods(Class.java:**1808)
>>     at
>> org.springframework.orm.jpa.**support.**PersistenceAnnotationBeanPostP**
>> rocessor.**findPersistenceMetadata(**PersistenceAnnotationBeanPostP**
>> rocessor.java:382)
>>     at
>> org.springframework.orm.jpa.**support.**PersistenceAnnotationBeanPostP**
>> rocessor.**postProcessMergedBeanDefinitio**n(**
>> PersistenceAnnotationBeanPostP**rocessor.java:320)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.**applyMergedBeanDefinitionPostP**
>> rocessors(**AbstractAutowireCapableBeanFac**tory.java:798)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.doCreateBean(**
>> AbstractAutowireCapableBeanFac**tory.java:493)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractAutowireCapableBeanFac**tory.createBean(**
>> AbstractAutowireCapableBeanFac**tory.java:456)
>>     at
>> org.springframework.beans.**factory.support.**AbstractBeanFactory$1.**
>> getObject(AbstractBeanFactory.**java:293)
>>     at
>> org.springframework.beans.**factory.support.**
>> DefaultSingletonBeanRegistry.**getSingleton(**
>> DefaultSingletonBeanRegistry.**java:222)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractBeanFactory.doGetBean(**AbstractBeanFactory.java:290)
>>     at
>> org.springframework.beans.**factory.support.**
>> AbstractBeanFactory.getBean(**AbstractBeanFactory.java:192)
>>     at
>> org.springframework.beans.**factory.support.**DefaultListableBeanFactory.
>> **preInstantiateSingletons(**DefaultListableBeanFactory.**java:585)
>>     at
>> org.springframework.context.**support.**AbstractApplicationContext.**
>> finishBeanFactoryInitializatio**n(AbstractApplicationContext.**java:895)
>>     at
>> org.springframework.context.**support.**AbstractApplicationContext.**
>> refresh(**AbstractApplicationContext.**java:425)
>>     at
>> org.springframework.web.**context.ContextLoader.**
>> createWebApplicationContext(**ContextLoader.java:282)
>>     at
>> org.springframework.web.**context.ContextLoader.**
>> initWebApplicationContext(**ContextLoader.java:204)
>>     at
>> org.springframework.web.**context.ContextLoaderListener.**
>> contextInitialized(**ContextLoaderListener.java:47)
>>     at
>> org.apache.catalina.core.**StandardContext.listenerStart(**
>> StandardContext.java:4723)
>>     at
>> org.apache.catalina.core.**StandardContext$1.call(**
>> StandardContext.java:5226)
>>     at
>> org.apache.catalina.core.**StandardContext$1.call(**
>> StandardContext.java:5221)
>>     at java.util.concurrent.**FutureTask$Sync.innerRun(**
>> FutureTask.java:334)
>>     at java.util.concurrent.**FutureTask.run(FutureTask.**java:166)
>>     at
>> java.util.concurrent.**ThreadPoolExecutor.runWorker(**
>> ThreadPoolExecutor.java:1110)
>>     at
>> java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
>> ThreadPoolExecutor.java:603)
>>     at java.lang.Thread.run(Thread.**java:636)
>> Caused by: java.lang.**ClassNotFoundException:
>> org.apache.wicket.request.**Request
>>     at
>> org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1678)
>>     at
>> org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1523)
>>     at java.lang.ClassLoader.**loadClassInternal(ClassLoader.**java:334)
>>     ... 26 more
>>
>>
>>
>>
>> Do you have any idea where it can come from? I've checked my classpath and
>> it looks OK, now.
>>
>> Regards,
>>
>> Pierre Goupil
>>
>>
>>
>>
>>
>> On Sun, Mar 18, 2012 at 11:35 PM, Sven Meier<sv...@meiers.net>  wrote:
>>
>>  Perhaps a classloader issue? Check whether you have two Wicket versions
>>> in
>>> your project.
>>>
>>> Sven
>>>
>>>
>>> On 03/18/2012 10:56 PM, Pierre Goupil wrote:
>>>
>>>  Actually, this error occurs in my unit tests. I can't launch the app at
>>>> this very moment, because some more things need to be managed during the
>>>> migration. But this simple test should work as it all compiles.
>>>>
>>>> As expected, the constructor from WebSession is called by
>>>> MyApplication#newSession(****Request request, Response response)
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Pierre Goupil
>>>>
>>>>
>>>>
>>>>
>>>> On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson<
>>>> jeremy@wickettraining.com>   wrote:
>>>>
>>>>  Put a breakpoint in the WebSession constructor and see where it's
>>>> getting
>>>>
>>>>> called.
>>>>>
>>>>> Or, perhaps you won't see anything there if this is happening because
>>>>> you
>>>>> are in a serialized WebSession.  You can test that by clearing all
>>>>> cookies,
>>>>> etc, and starting a new session.
>>>>>
>>>>> --
>>>>> Jeremy Thomerson
>>>>> http://wickettraining.com
>>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>>
>>>>> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil<goupilpierre@gmail.com
>>>>>
>>>>>  wrote:
>>>>>> Yes, absolutely:
>>>>>>
>>>>>>
>>>>>>    public Session newSession(final Request request, final Response
>>>>>> response)
>>>>>>    {
>>>>>>        return new MySession(request);
>>>>>>     }
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson<
>>>>>> jeremy@wickettraining.com>   wrote:
>>>>>>
>>>>>>  On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil<
>>>>>> goupilpierre@gmail.com
>>>>>>
>>>>>>> wrote:
>>>>>>>> Good evening,
>>>>>>>>
>>>>>>>> I'm currently in the process of migrating my app from Wicket 1.4 to
>>>>>>>>
>>>>>>>>  Wicket
>>>>>>>
>>>>>>>  1.5. I've read the migration guide and everything seems to go fine,
>>>>>>>>
>>>>>>>>  except
>>>>>>>
>>>>>>>  for session management.
>>>>>>>>
>>>>>>>> Here's my code:
>>>>>>>>
>>>>>>>> public class MySession extends WebSession
>>>>>>>> {
>>>>>>>>
>>>>>>>>  public static MySession get()
>>>>>>>>    {
>>>>>>>>        return (MySession)Session.get();
>>>>>>>>    }
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>> When call, the get() method gives this stacktrace:
>>>>>>>>
>>>>>>>> Caused by: java.lang.ClassCastException:
>>>>>>>> org.apache.wicket.protocol.****http.WebSession cannot be cast to
>>>>>>>>
>>>>>>>>  MySession
>>>>>>>
>>>>>> Any help, please?
>>>>>>
>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Pierre Goupil
>>>>>>>>
>>>>>>>>
>>>>>>>>  Does your application override newSession and return a new
>>>>>>> MySession?
>>>>>>>
>>>>>>> --
>>>>>>> Jeremy Thomerson
>>>>>>> http://wickettraining.com
>>>>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>> Si tu penses que la violence ne résout rien, c'est que tu n'as pas
>>>>>> tapé
>>>>>> assez fort.
>>>>>>
>>>>>>
>>>>>>
>>>>  ------------------------------****----------------------------**
>>> --**---------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.**apa**che.org<http://apache.org>
>>> <us...@wicket.apache.org>
>>> >
>>>
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.org<us...@wicket.apache.org>
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
assez fort.

Re: Wicket 1.5: sessions

Posted by Sven Meier <sv...@meiers.net>.
You're missing the wicket-request jar.

Sven

On 03/20/2012 08:38 PM, Pierre Goupil wrote:
> You were absolutely right, Sven! Now, my unit tests pass and I can launch
> my app. But amongst some minor problems, I have this exception in my
> start-up logs:
>
> java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
>      at java.lang.Class.getDeclaredMethods0(Native Method)
>      at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
>      at java.lang.Class.getDeclaredMethods(Class.java:1808)
>      at
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
>      at
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
>      at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
>      at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
>      at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>      at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>      at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
>      at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
>      at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
>      at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
>      at
> org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
>      at
> org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
>      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>      at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>      at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>      at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.wicket.request.Request
>      at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
>      at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
>      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
>      ... 26 more
> 20 mars 2012 20:27:17 org.apache.catalina.core.StandardContext listenerStart
> GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
> (context initialized) à l'instance de classe d'écoute (listener)
> org.springframework.web.context.ContextLoaderListener
> java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
>      at java.lang.Class.getDeclaredMethods0(Native Method)
>      at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
>      at java.lang.Class.getDeclaredMethods(Class.java:1808)
>      at
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
>      at
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
>      at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
>      at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
>      at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
>      at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
>      at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>      at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>      at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
>      at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
>      at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
>      at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
>      at
> org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
>      at
> org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
>      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>      at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>      at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>      at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.wicket.request.Request
>      at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
>      at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
>      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
>      ... 26 more
>
>
>
>
> Do you have any idea where it can come from? I've checked my classpath and
> it looks OK, now.
>
> Regards,
>
> Pierre Goupil
>
>
>
>
>
> On Sun, Mar 18, 2012 at 11:35 PM, Sven Meier<sv...@meiers.net>  wrote:
>
>> Perhaps a classloader issue? Check whether you have two Wicket versions in
>> your project.
>>
>> Sven
>>
>>
>> On 03/18/2012 10:56 PM, Pierre Goupil wrote:
>>
>>> Actually, this error occurs in my unit tests. I can't launch the app at
>>> this very moment, because some more things need to be managed during the
>>> migration. But this simple test should work as it all compiles.
>>>
>>> As expected, the constructor from WebSession is called by
>>> MyApplication#newSession(**Request request, Response response)
>>>
>>> Regards,
>>>
>>> Pierre Goupil
>>>
>>>
>>>
>>>
>>> On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson<
>>> jeremy@wickettraining.com>   wrote:
>>>
>>>   Put a breakpoint in the WebSession constructor and see where it's getting
>>>> called.
>>>>
>>>> Or, perhaps you won't see anything there if this is happening because you
>>>> are in a serialized WebSession.  You can test that by clearing all
>>>> cookies,
>>>> etc, and starting a new session.
>>>>
>>>> --
>>>> Jeremy Thomerson
>>>> http://wickettraining.com
>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>
>>>> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil<goupilpierre@gmail.com
>>>>
>>>>> wrote:
>>>>> Yes, absolutely:
>>>>>
>>>>>
>>>>>     public Session newSession(final Request request, final Response
>>>>> response)
>>>>>     {
>>>>>         return new MySession(request);
>>>>>      }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson<
>>>>> jeremy@wickettraining.com>   wrote:
>>>>>
>>>>>   On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil<goupilpierre@gmail.com
>>>>>>> wrote:
>>>>>>> Good evening,
>>>>>>>
>>>>>>> I'm currently in the process of migrating my app from Wicket 1.4 to
>>>>>>>
>>>>>> Wicket
>>>>>>
>>>>>>> 1.5. I've read the migration guide and everything seems to go fine,
>>>>>>>
>>>>>> except
>>>>>>
>>>>>>> for session management.
>>>>>>>
>>>>>>> Here's my code:
>>>>>>>
>>>>>>> public class MySession extends WebSession
>>>>>>> {
>>>>>>>
>>>>>>>   public static MySession get()
>>>>>>>     {
>>>>>>>         return (MySession)Session.get();
>>>>>>>     }
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> When call, the get() method gives this stacktrace:
>>>>>>>
>>>>>>> Caused by: java.lang.ClassCastException:
>>>>>>> org.apache.wicket.protocol.**http.WebSession cannot be cast to
>>>>>>>
>>>>>> MySession
>>>>> Any help, please?
>>>>>>> Regards,
>>>>>>>
>>>>>>> Pierre Goupil
>>>>>>>
>>>>>>>
>>>>>> Does your application override newSession and return a new MySession?
>>>>>>
>>>>>> --
>>>>>> Jeremy Thomerson
>>>>>> http://wickettraining.com
>>>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>>>
>>>>>>
>>>>> --
>>>>> Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
>>>>> assez fort.
>>>>>
>>>>>
>>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.org<us...@wicket.apache.org>
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket 1.5: sessions

Posted by Pierre Goupil <go...@gmail.com>.
You were absolutely right, Sven! Now, my unit tests pass and I can launch
my app. But amongst some minor problems, I have this exception in my
start-up logs:

java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
    at java.lang.Class.getDeclaredMethods(Class.java:1808)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
    at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
    at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ClassNotFoundException:
org.apache.wicket.request.Request
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
    ... 26 more
20 mars 2012 20:27:17 org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
(context initialized) à l'instance de classe d'écoute (listener)
org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
    at java.lang.Class.getDeclaredMethods(Class.java:1808)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
    at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
    at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ClassNotFoundException:
org.apache.wicket.request.Request
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
    ... 26 more




Do you have any idea where it can come from? I've checked my classpath and
it looks OK, now.

Regards,

Pierre Goupil





On Sun, Mar 18, 2012 at 11:35 PM, Sven Meier <sv...@meiers.net> wrote:

> Perhaps a classloader issue? Check whether you have two Wicket versions in
> your project.
>
> Sven
>
>
> On 03/18/2012 10:56 PM, Pierre Goupil wrote:
>
>> Actually, this error occurs in my unit tests. I can't launch the app at
>> this very moment, because some more things need to be managed during the
>> migration. But this simple test should work as it all compiles.
>>
>> As expected, the constructor from WebSession is called by
>> MyApplication#newSession(**Request request, Response response)
>>
>> Regards,
>>
>> Pierre Goupil
>>
>>
>>
>>
>> On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson<
>> jeremy@wickettraining.com>  wrote:
>>
>>  Put a breakpoint in the WebSession constructor and see where it's getting
>>> called.
>>>
>>> Or, perhaps you won't see anything there if this is happening because you
>>> are in a serialized WebSession.  You can test that by clearing all
>>> cookies,
>>> etc, and starting a new session.
>>>
>>> --
>>> Jeremy Thomerson
>>> http://wickettraining.com
>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>
>>> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil<goupilpierre@gmail.com
>>>
>>>> wrote:
>>>> Yes, absolutely:
>>>>
>>>>
>>>>    public Session newSession(final Request request, final Response
>>>> response)
>>>>    {
>>>>        return new MySession(request);
>>>>     }
>>>>
>>>>
>>>>
>>>>
>>>> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson<
>>>> jeremy@wickettraining.com>  wrote:
>>>>
>>>>  On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil<goupilpierre@gmail.com
>>>>>
>>>>>> wrote:
>>>>>> Good evening,
>>>>>>
>>>>>> I'm currently in the process of migrating my app from Wicket 1.4 to
>>>>>>
>>>>> Wicket
>>>>>
>>>>>> 1.5. I've read the migration guide and everything seems to go fine,
>>>>>>
>>>>> except
>>>>>
>>>>>> for session management.
>>>>>>
>>>>>> Here's my code:
>>>>>>
>>>>>> public class MySession extends WebSession
>>>>>> {
>>>>>>
>>>>>>  public static MySession get()
>>>>>>    {
>>>>>>        return (MySession)Session.get();
>>>>>>    }
>>>>>>
>>>>>> }
>>>>>>
>>>>>> When call, the get() method gives this stacktrace:
>>>>>>
>>>>>> Caused by: java.lang.ClassCastException:
>>>>>> org.apache.wicket.protocol.**http.WebSession cannot be cast to
>>>>>>
>>>>> MySession
>>>
>>>> Any help, please?
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pierre Goupil
>>>>>>
>>>>>>
>>>>> Does your application override newSession and return a new MySession?
>>>>>
>>>>> --
>>>>> Jeremy Thomerson
>>>>> http://wickettraining.com
>>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>>
>>>>>
>>>>
>>>> --
>>>> Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
>>>> assez fort.
>>>>
>>>>
>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.org<us...@wicket.apache.org>
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
assez fort.

Re: Wicket 1.5: sessions

Posted by Sven Meier <sv...@meiers.net>.
Perhaps a classloader issue? Check whether you have two Wicket versions 
in your project.

Sven

On 03/18/2012 10:56 PM, Pierre Goupil wrote:
> Actually, this error occurs in my unit tests. I can't launch the app at
> this very moment, because some more things need to be managed during the
> migration. But this simple test should work as it all compiles.
>
> As expected, the constructor from WebSession is called by
> MyApplication#newSession(Request request, Response response)
>
> Regards,
>
> Pierre Goupil
>
>
>
>
> On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson<
> jeremy@wickettraining.com>  wrote:
>
>> Put a breakpoint in the WebSession constructor and see where it's getting
>> called.
>>
>> Or, perhaps you won't see anything there if this is happening because you
>> are in a serialized WebSession.  You can test that by clearing all cookies,
>> etc, and starting a new session.
>>
>> --
>> Jeremy Thomerson
>> http://wickettraining.com
>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>
>> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil<goupilpierre@gmail.com
>>> wrote:
>>> Yes, absolutely:
>>>
>>>
>>>     public Session newSession(final Request request, final Response
>>> response)
>>>     {
>>>         return new MySession(request);
>>>      }
>>>
>>>
>>>
>>>
>>> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson<
>>> jeremy@wickettraining.com>  wrote:
>>>
>>>> On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil<goupilpierre@gmail.com
>>>>> wrote:
>>>>> Good evening,
>>>>>
>>>>> I'm currently in the process of migrating my app from Wicket 1.4 to
>>>> Wicket
>>>>> 1.5. I've read the migration guide and everything seems to go fine,
>>>> except
>>>>> for session management.
>>>>>
>>>>> Here's my code:
>>>>>
>>>>> public class MySession extends WebSession
>>>>> {
>>>>>
>>>>>   public static MySession get()
>>>>>     {
>>>>>         return (MySession)Session.get();
>>>>>     }
>>>>>
>>>>> }
>>>>>
>>>>> When call, the get() method gives this stacktrace:
>>>>>
>>>>> Caused by: java.lang.ClassCastException:
>>>>> org.apache.wicket.protocol.http.WebSession cannot be cast to
>> MySession
>>>>> Any help, please?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pierre Goupil
>>>>>
>>>>
>>>> Does your application override newSession and return a new MySession?
>>>>
>>>> --
>>>> Jeremy Thomerson
>>>> http://wickettraining.com
>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>
>>>
>>>
>>> --
>>> Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
>>> assez fort.
>>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket 1.5: sessions

Posted by Pierre Goupil <go...@gmail.com>.
Actually, this error occurs in my unit tests. I can't launch the app at
this very moment, because some more things need to be managed during the
migration. But this simple test should work as it all compiles.

As expected, the constructor from WebSession is called by
MyApplication#newSession(Request request, Response response)

Regards,

Pierre Goupil




On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson <
jeremy@wickettraining.com> wrote:

> Put a breakpoint in the WebSession constructor and see where it's getting
> called.
>
> Or, perhaps you won't see anything there if this is happening because you
> are in a serialized WebSession.  You can test that by clearing all cookies,
> etc, and starting a new session.
>
> --
> Jeremy Thomerson
> http://wickettraining.com
> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>
> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil <goupilpierre@gmail.com
> >wrote:
>
> > Yes, absolutely:
> >
> >
> >    public Session newSession(final Request request, final Response
> > response)
> >    {
> >        return new MySession(request);
> >     }
> >
> >
> >
> >
> > On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson <
> > jeremy@wickettraining.com> wrote:
> >
> > > On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil <goupilpierre@gmail.com
> > > >wrote:
> > >
> > > > Good evening,
> > > >
> > > > I'm currently in the process of migrating my app from Wicket 1.4 to
> > > Wicket
> > > > 1.5. I've read the migration guide and everything seems to go fine,
> > > except
> > > > for session management.
> > > >
> > > > Here's my code:
> > > >
> > > > public class MySession extends WebSession
> > > > {
> > > >
> > > >  public static MySession get()
> > > >    {
> > > >        return (MySession)Session.get();
> > > >    }
> > > >
> > > > }
> > > >
> > > > When call, the get() method gives this stacktrace:
> > > >
> > > > Caused by: java.lang.ClassCastException:
> > > > org.apache.wicket.protocol.http.WebSession cannot be cast to
> MySession
> > > >
> > > > Any help, please?
> > > >
> > > > Regards,
> > > >
> > > > Pierre Goupil
> > > >
> > >
> > >
> > > Does your application override newSession and return a new MySession?
> > >
> > > --
> > > Jeremy Thomerson
> > > http://wickettraining.com
> > > *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
> > >
> >
> >
> >
> > --
> > Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
> > assez fort.
> >
>



-- 
Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
assez fort.

Re: Wicket 1.5: sessions

Posted by Jeremy Thomerson <je...@wickettraining.com>.
Put a breakpoint in the WebSession constructor and see where it's getting
called.

Or, perhaps you won't see anything there if this is happening because you
are in a serialized WebSession.  You can test that by clearing all cookies,
etc, and starting a new session.

-- 
Jeremy Thomerson
http://wickettraining.com
*Need a CMS for Wicket?  Use Brix! http://brixcms.org*

On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil <go...@gmail.com>wrote:

> Yes, absolutely:
>
>
>    public Session newSession(final Request request, final Response
> response)
>    {
>        return new MySession(request);
>     }
>
>
>
>
> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson <
> jeremy@wickettraining.com> wrote:
>
> > On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil <goupilpierre@gmail.com
> > >wrote:
> >
> > > Good evening,
> > >
> > > I'm currently in the process of migrating my app from Wicket 1.4 to
> > Wicket
> > > 1.5. I've read the migration guide and everything seems to go fine,
> > except
> > > for session management.
> > >
> > > Here's my code:
> > >
> > > public class MySession extends WebSession
> > > {
> > >
> > >  public static MySession get()
> > >    {
> > >        return (MySession)Session.get();
> > >    }
> > >
> > > }
> > >
> > > When call, the get() method gives this stacktrace:
> > >
> > > Caused by: java.lang.ClassCastException:
> > > org.apache.wicket.protocol.http.WebSession cannot be cast to MySession
> > >
> > > Any help, please?
> > >
> > > Regards,
> > >
> > > Pierre Goupil
> > >
> >
> >
> > Does your application override newSession and return a new MySession?
> >
> > --
> > Jeremy Thomerson
> > http://wickettraining.com
> > *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
> >
>
>
>
> --
> Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
> assez fort.
>

Re: Wicket 1.5: sessions

Posted by Pierre Goupil <go...@gmail.com>.
Yes, absolutely:


    public Session newSession(final Request request, final Response
response)
    {
        return new MySession(request);
    }




On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson <
jeremy@wickettraining.com> wrote:

> On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil <goupilpierre@gmail.com
> >wrote:
>
> > Good evening,
> >
> > I'm currently in the process of migrating my app from Wicket 1.4 to
> Wicket
> > 1.5. I've read the migration guide and everything seems to go fine,
> except
> > for session management.
> >
> > Here's my code:
> >
> > public class MySession extends WebSession
> > {
> >
> >  public static MySession get()
> >    {
> >        return (MySession)Session.get();
> >    }
> >
> > }
> >
> > When call, the get() method gives this stacktrace:
> >
> > Caused by: java.lang.ClassCastException:
> > org.apache.wicket.protocol.http.WebSession cannot be cast to MySession
> >
> > Any help, please?
> >
> > Regards,
> >
> > Pierre Goupil
> >
>
>
> Does your application override newSession and return a new MySession?
>
> --
> Jeremy Thomerson
> http://wickettraining.com
> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>



-- 
Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
assez fort.

Re: Wicket 1.5: sessions

Posted by Jeremy Thomerson <je...@wickettraining.com>.
On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil <go...@gmail.com>wrote:

> Good evening,
>
> I'm currently in the process of migrating my app from Wicket 1.4 to Wicket
> 1.5. I've read the migration guide and everything seems to go fine, except
> for session management.
>
> Here's my code:
>
> public class MySession extends WebSession
> {
>
>  public static MySession get()
>    {
>        return (MySession)Session.get();
>    }
>
> }
>
> When call, the get() method gives this stacktrace:
>
> Caused by: java.lang.ClassCastException:
> org.apache.wicket.protocol.http.WebSession cannot be cast to MySession
>
> Any help, please?
>
> Regards,
>
> Pierre Goupil
>


Does your application override newSession and return a new MySession?

-- 
Jeremy Thomerson
http://wickettraining.com
*Need a CMS for Wicket?  Use Brix! http://brixcms.org*