[
https://issues.apache.org/jira/browse/WICKET-1013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700692#action_12700692
]
Vincent MATHON commented on WICKET-1013:
----------------------------------------
It depends on your configuration. In my case I use a skinny war packaging with
an EAR containing a WAR for the web application and JARs for EJB3 services.
With this configuration I have to ensure that service classes are loaded by the
same classloader for a correct processing of Wicket serialization. I described
how to achieve this with JBoss 4.2.1, unfortunately I don' know how to do this
with Weblogic. However, if you don't want to modify your server configuration,
you can retrieve your services directly from the Spring application context
when needed (not as a class field to avoid serialization issues).
> spring component injection leads to deserialization error (or page
> expiration)
> -------------------------------------------------------------------------------
>
> Key: WICKET-1013
> URL: https://issues.apache.org/jira/browse/WICKET-1013
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 1.3.0-beta2
> Environment: windows 2000/ Linux Jboss 4.05 EJB3 or POJO
> Reporter: Vincent MATHON
> Assignee: Igor Vaynberg
> Fix For: 1.3.0-beta4
>
> Attachments: TestBackButton-light.zip
>
>
> I made several tests on spring component injection and obtained the following
> results.
> The test is simply a main page accessing a target page through a link.
> 1/ A spring component is injected in the target page as a class field using
> jdk 1.5 annotation and this component is itself a Spring proxy (a POJO proxy
> or an EJB3 proxy).
> a) The link is a PageLink ==> This configuration leads to a
> deserialization error or a page expiration error whatever Serialization
> scheme I use (wicket new one or Java serialization).
> b) The link is a BookMarkablePageLink ==> it works.
> 2/ A spring component is injected in the target page as a class field using
> jdk 1.5 annotation and this component is a concrete POJO.
> a) The link is a PageLink ==> This configuration leads to a page
> expiration error if I use the Java Serialization scheme or alternatively a
> page expiration error or a serialization error with the wicket serialization
> scheme.
> b) The link is a BookMarkablePageLink ==> it works.
> 3/ A spring component is accessed through a service locator when needed (so
> it's not a class field)
> It works for both PageLink and BookMarkablePageLink
> Thus, the spring injection can only be used in pages accessed through a
> BookMarkablePageLink , for other kind of links one must use a service
> locator to avoid proxy serialization.
> I suspect that this is not the expected behaviour.
> Vincent
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.