or try to use Unsafe.getUnsafe() since that's available for java 7 applications.


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2014-11-19 11:03 GMT+01:00 Mark Struberg <[email protected]>:
> We probably might do the Proxy factories as SPI Service. So we can replace 
> the calls to Unsafe with newInstance. Or even provide ways to run without 
> proxies (for smallish Java SE projects).
>
> LieGrue,
> strub
>
>
>
>
>> On Monday, 17 November 2014, 23:16, PÉNET LUDOVIC <[email protected]> wrote:
>> >
>> Romain Manni-Bucau a écrit :
>>>  HI
>>>
>>>  maybe lost a part of the thread in gmail but what's the issue with
>>>  Unsafe? Does GAE uses a security manager? If so it just needs to be
>>>  configured
>>
>> The problem is their Reflection policy ( in
>> https://cloud.google.com/appengine/docs/java/ )
>>
>> «
>> Reflection
>>
>> An application is allowed full, unrestricted, reflective access to its own
>> classes.
>>
>> It may query any private members, call the method
>> java.lang.reflect.AccessibleObject.setAccessible(), and read/set private
>> members.
>>
>> An application can also reflect on JRE and API classes, such as
>> java.lang.String and javax.servlet.http.HttpServletRequest. However, it
>> can only access public members of these classes, not protected or private.
>>
>> An application cannot reflect against any other classes not belonging to
>> itself, and it can not use the setAccessible() method to circumvent these
>> restrictions.
>>
>> »
>>
>> When one start OWB, this translates to exceptions such as :
>>
>>
>> [INFO] Caused by: java.lang.IllegalStateException: Cannot get sun.misc.Unsafe
>> [INFO]  at
>> org.apache.webbeans.proxy.AbstractProxyFactory$2.run(AbstractProxyFactory.java:598)
>> [INFO]  at java.security.AccessController.doPrivileged(Native Method)
>> [INFO]  at
>> org.apache.webbeans.proxy.AbstractProxyFactory.initializeUnsafe(AbstractProxyFactory.java:585)
>> [INFO]  at
>> org.apache.webbeans.proxy.AbstractProxyFactory.<init>(AbstractProxyFactory.java:64)
>> [INFO]  at
>> org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory.<init>(InterceptorDecoratorProxyFactory.java:74)
>> [INFO]  at
>> org.apache.webbeans.config.WebBeansContext.<init>(WebBeansContext.java:79)
>> [INFO]  at
>> org.apache.webbeans.config.WebBeansContext.<init>(WebBeansContext.java:98)
>> [INFO]  at
>> org.apache.webbeans.corespi.DefaultSingletonService.get(DefaultSingletonService.java:54)
>> [INFO]  at
>> org.apache.webbeans.corespi.DefaultSingletonService.get(DefaultSingletonService.java:28)
>> [INFO]  at
>> org.apache.webbeans.config.WebBeansFinder.getSingletonInstance(WebBeansFinder.java:51)
>> [INFO]  at
>> org.apache.webbeans.config.WebBeansContext.getInstance(WebBeansContext.java:164)
>> [INFO]  at
>> org.apache.webbeans.config.WebBeansContext.currentInstance(WebBeansContext.java:182)
>> [INFO]  at
>> org.apache.webbeans.jsf.OwbApplicationFactory.<init>(OwbApplicationFactory.java:37)
>> [INFO]  ... 41 more
>> [INFO] Caused by: java.lang.IllegalAccessException: Reflection is not
>> allowed on private static final sun.misc.Unsafe sun.misc.Unsafe.theUnsafe
>> [INFO]  at
>> com.google.appengine.tools.development.agent.runtime.Runtime.verifyWhiteListed(Runtime.java:77)
>> [INFO]  at
>> com.google.appengine.tools.development.agent.runtime.Runtime.verifyReadable(Runtime.java:85)
>> [INFO]  at
>> com.google.appengine.tools.development.agent.runtime.Runtime.verifyAndRun(Runtime.java:367)
>> [INFO]  at
>> com.google.appengine.tools.development.agent.runtime.Runtime.get(Runtime.java:164)
>> [INFO]  at
>> org.apache.webbeans.proxy.AbstractProxyFactory$2.run(AbstractProxyFactory.java:594)
>> [INFO]  ... 53 more
>>
>> Thank you for your attention !
>>
>>
>> Ludovic
>>
>> |
>> | AVANT D'IMPRIMER, PENSEZ A L'ENVIRONNEMENT.
>> |
>>

Reply via email to