[
https://jira.jboss.org/jira/browse/WBRI-292?page=com.atlassian.jira.plugi...
]
Pete Muir closed WBRI-292.
--------------------------
Resolution: Done
Assignee: Pete Muir
Fixed, I actually tidied up the the setAccessible code a bit and consolidated it in
constructors of WB* and Reflections
SecurityException during WebBeansBootstrap#boot()
-------------------------------------------------
Key: WBRI-292
URL:
https://jira.jboss.org/jira/browse/WBRI-292
Project: Web Beans
Issue Type: Bug
Components: Reflection
Environment: Google App Engine 1.2.1
Reporter: Takeshi Kondo
Assignee: Pete Muir
Priority: Critical
Fix For: 1.0.0.CR1
Attachments: security_exception.patch
I've deployed WebBeans to google app engine, then SecurityException was caused. In
google app engine, don't call Method#setAccessible(boolean) of collection classes.
WebBeans component caused SecurityException is as follows.
----------------
@RequestScoped
public class RequestScopedMap extends HashMap<String, Object>
{
}
----------------
Failed startup of context
com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext(a)1dae160{/,/base/data/home/apps/lush-life/2.334837686911623456}
java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed
on protected java.lang.Object java.util.AbstractMap.clone() throws
java.lang.CloneNotSupportedException
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.setAccessible(Method_.java:133)
at org.jboss.webbeans.introspector.jlr.WBMethodImpl.<init>(WBMethodImpl.java:94)
at org.jboss.webbeans.introspector.jlr.WBMethodImpl.of(WBMethodImpl.java:77)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:326)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
at
org.jboss.webbeans.introspector.jlr.AbstractWBType.<init>(AbstractWBType.java:64)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:127)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
at
org.jboss.webbeans.introspector.jlr.AbstractWBType.<init>(AbstractWBType.java:64)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:127)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
at org.jboss.webbeans.bootstrap.BeanDeployer.addClass(BeanDeployer.java:65)
at org.jboss.webbeans.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:84)
at
org.jboss.webbeans.bootstrap.WebBeansBootstrap.registerBeans(WebBeansBootstrap.java:234)
at org.jboss.webbeans.bootstrap.WebBeansBootstrap.boot(WebBeansBootstrap.java:287)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira