You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2007/05/02 23:34:15 UTC

[jira] Resolved: (WICKET-279) Wicket-spring Fix for classloading in a clustered Weblogic 9.x

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

Igor Vaynberg resolved WICKET-279.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3

>  Wicket-spring Fix for classloading in a clustered Weblogic 9.x
> ---------------------------------------------------------------
>
>                 Key: WICKET-279
>                 URL: https://issues.apache.org/jira/browse/WICKET-279
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-spring
>    Affects Versions: 1.2.3, 1.2.4, 1.2.5
>         Environment: Weblogic 9.2 (clustered environment) on Solaris 10.0
>            Reporter: Scott T Weaver
>         Assigned To: Igor Vaynberg
>             Fix For: 1.3
>
>         Attachments: fix-wls-clustered-classloading.patch
>
>
> This patch addresses an issue with classloading performed by wicket.proxy.LazyInitProxyFactory within the context of a Weblogic Server 9.2 clustered application environment (stack trace at the bottom of the email).  The long and the short of it is that
> Thread.currentThread().getContextClassLoader() will fail to load the proxied interface.  The fix was quite simple: catch the IAE and attempt to load the interface using the current classloader (LazyInitProxyFactory.class.getClassLoader()).  This works like a charm and I have had in production for almost 3 months now with no issues whatsoever.
> Stacktrace from WLS 9.2
> <Nov 20, 2006 10:23:18 AM EST> <Error> <Kernel> <BEA-000802> <ExecuteRequest fai
> led
>  java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Or
> derTrackingBeanFactory is not visible from class loader.
> java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Ord
> erTrackingBeanFactory is not visible from class loader
>         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:195)
>         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
>         at weblogic.cluster.replication.ReplicationManager_920_WLStub.update(Unk
> nown Source)
>         at weblogic.cluster.replication.ReplicationManager.updateSecondary(Repli
> cationManager.java:525)
>         at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(R
> eplicatedSessionData.java:516)
>         Truncated. see log file for complete stacktrace
> java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Ord
> erTrackingBeanFactory is not visible from class loader
>         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:345)
>         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:564)
>         at wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.ja
> va:124)
>         at wicket.proxy.LazyInitProxyFactory$ProxyReplacement.readResolve(LazyIn
> itProxyFactory.java:206)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         Truncated. see log file for complete stacktrace
> > 
> <Nov 20, 2006 10:23:18 AM EST> <Error> <Kernel> <BEA-000802> <ExecuteRequest fai
> led
>  java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Or
> derTrackingBeanFactory is not visible from class loader.
> java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Ord
> erTrackingBeanFactory is not visible from class loader
>         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:195)
>         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
>         at weblogic.cluster.replication.ReplicationManager_920_WLStub.update(Unk
> nown Source)
>         at weblogic.cluster.replication.ReplicationManager.updateSecondary(Repli
> cationManager.java:525)
>         at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(R
> eplicatedSessionData.java:516)
>         Truncated. see log file for complete stacktrace
> java.lang.IllegalArgumentException: interface com.ugs.it.partnersxpress.util.Ord
> erTrackingBeanFactory is not visible from class loader
>         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:345)
>         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:564)
>         at wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.ja
> va:124)
>         at wicket.proxy.LazyInitProxyFactory$ProxyReplacement.readResolve(LazyIn
> itProxyFactory.java:206)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         Truncated. see log file for complete stacktrace
> > 

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