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.