[ 
https://issues.apache.org/jira/browse/WICKET-2416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Vaynberg updated WICKET-2416:
----------------------------------

    Priority: Minor  (was: Critical)

this is not critical, it is only affecting users who use wicket with 
wicket-javaee and deploying to containers which make javaee classloader 
invisible from the web classloader - which seems to be a pretty small subset 
since that code hasnt changed in many months and you are the first to spot the 
problem.


anyways, the problem is that glassfish makes ejb classloader invisible from the 
war classloader so wicket cannot load the class of your session bean. not 
really sure what we can do about this other then somehow cache which 
classloaders are used - but this will be broken in a clustered deployment 
anyways. this will need some looking into.

an idea might be to route the deserialization calls through the IClassResolver 
and allow you to install one that knows about your ejb classloader. the problem 
with this is that application threadlocal might not be set on the thread 
deserializing the session - this is a container-specific behavior - so it might 
not always work.

interesting little problem. i wonder if this is because glassfish is running on 
top of osgi and your ejb module and war module are treated like separate 
bundles with their own classloaders.

> Exception with EJB Session Bean
> -------------------------------
>
>                 Key: WICKET-2416
>                 URL: https://issues.apache.org/jira/browse/WICKET-2416
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.0
>         Environment: Java 1.6.
> Wicket Java EE 1.1
>            Reporter: bernard
>            Priority: Minor
>         Attachments: testcase.zip
>
>
> The attached testcase gets an exception
> java.io.InvalidClassException: test.session.TestSessionLocal; could not 
> resolve class [test.session.TestSessionLocal] when deserializing proxy
>         at 
> org.apache.wicket.proxy.LazyInitProxyFactory$ProxyReplacement.readResolve(LazyInitProxyFactory.java:236)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> when the user clicks through it, starting from index.html.
> I can't really make any progress without a fix, or without knowing what I am 
> doing wrong to get this.
> The testcase will work out of the box with NetBeans 6.7.1 and Server: 
> GlassFish V2 which is bundled with it.
> I don't know what really causes this. It is interesting that the tescase runs 
> ok when 
> two lines are removed from Page2.java.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to