[ 
https://jira.jboss.org/browse/WELD-737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stuart Douglas resolved WELD-737.
---------------------------------

    Resolution: Rejected


After some more discussion we have decided that we are not going to replace the 
javassist proxy classes with weld ones. Replacing the javassist classes would 
only move the problem from 'javassist must be accessible' to 'replacement 
classes must be accessible'.

As I understand it the javassist classes should not be a major issue now that 
weld no longer does a partial export from the OSGI bundle. Sivakumar if this is 
not the case would you be able to file it under a new issue?


> Proxy instantiation fails with IllegalAccessError for Beans with package 
> private constructor
> --------------------------------------------------------------------------------------------
>
>                 Key: WELD-737
>                 URL: https://jira.jboss.org/browse/WELD-737
>             Project: Weld
>          Issue Type: Bug
>          Components: GlassFish Integration, Proxies
>    Affects Versions: 1.1.0.Beta1
>            Reporter: Sivakumar Thyagarajan
>            Assignee: Stuart Douglas
>              Labels: beans, constructor, initializer, proxy, scoped
>             Fix For: 1.1.0.CR1
>
>         Attachments: package-private-constructor-issue.tar.bz2, 
> ProxyServicesImpl.java
>
>
> For Beans with package private constructors, proxy instantiation fails with 
> an Illegal access error as shown below. Since 1.1.0.Beta1 the proxy creation 
> logic in ProxyFactory.addConstructors handles private constructors correctly 
> but doesn't consider package private constructors.
> ----
> Caused by: java.lang.IllegalAccessError: tried to access method 
> org.glassfish.tests.proxies.TestSessionScopedBean.<init>()V from class 
> org.glassfish.tests.proxies.org$jboss$weld$bean-$export$work$workspaces$gfv3$v3$distributions$glassfish$target$glassfish3$glassfish$domains$domain1$applications$jsr88-1370237334428885039$-ManagedBean-class_org$glassfish$tests$proxies$TestSessionScopedBean_$$_WeldProxy
>         at 
> org.glassfish.tests.proxies.org$jboss$weld$bean-$export$work$workspaces$gfv3$v3$distributions$glassfish$target$glassfish3$glassfish$domains$domain1$applications$jsr88-1370237334428885039$-ManagedBean-class_org$glassfish$tests$proxies$TestSessionScopedBean_$$_WeldProxy.<init>(org$jboss$weld$bean-$export$work$workspaces$gfv3$v3$distributions$glassfish$target$glassfish3$glassfish$domains$domain1$applications$jsr88-1370237334428885039$-ManagedBean-class_org$glassfish$tests$proxies$TestSessionScopedBean_$$_WeldProxy.java)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at java.lang.Class.newInstance0(Class.java:355)
>         at java.lang.Class.newInstance(Class.java:308)
>         at 
> org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:396)
>         at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>         at 
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:216)
>         at 
> org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:391)
>         at 
> org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:218)
>         at 
> org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:89)
>         at 
> org.jboss.weld.bean.proxy.ClientProxyProvider.access$000(ClientProxyProvider.java:40)
>         at 
> org.jboss.weld.bean.proxy.ClientProxyProvider$1.apply(ClientProxyProvider.java:53)
>         at 
> org.jboss.weld.bean.proxy.ClientProxyProvider$1.apply(ClientProxyProvider.java:44)
>         at 
> com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206)
> ----

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to