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


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


2014-11-17 22:21 GMT+01:00 "PÉNET LUDOVIC" <[email protected]>:
>
> "PÉNET LUDOVIC" a écrit :
>> Mark Struberg a écrit :
>>> Hi Ludovic!
>>>
>>> Do you haven an example? I did run OWB on GAE a looong time ago, but did
>>> not test lately.
>>> If you have a sample for us then we will make it work ;)
>>
>> Thanks a lot.
>>
>> Please find attacher a tar.bz2 of a very simple example. I just created a
>> simple app using a GAE archetype, then added dependencies for PrimeFaces
>> 5.1 / MyFaces 2.2 / OpenWebBeans 1.2 / Deltaspike 1.0.
>>
>> I use :
>> Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4;
>> 2014-08-11T22:58:10+02:00)
>> Maven home: /usr/local/apache-maven-3.2.3
>> Java version: 1.7.0_65, vendor: Oracle Corporation
>> Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
>> Default locale: fr_FR, platform encoding: UTF-8
>> OS name: "linux", version: "3.13.0-36-generic", arch: "amd64", family:
>> "unix"
>>
>>
>> ... which seems to fit GAE requirements (maven 3.1 and newer, Java 7).
>>
>> I have the enclosed log, where you will find several reflection related
>> errors.
>
> I took a closer look at it and the root of the problem is the use of the
> instance of sun.misc.Unsafe in
> org.apache.webbeans.proxy.AbstractProxyFactory.
>
> The method sun.misc.Unsafe#allocateInstance is retrieved by
> AbstractProxyFactory#initializeUnsafe . This last method is a private
> method, called by the constructor of AbstractProxyFactory.
>
> As it is hard coded, a quick and dirty trick could be to shadow this
> class, for example using the maven shade plugin to create a custom OWB
> package, to replace the use of sun.misc.Unsafe#allocateInstance by
> com.google.apphosting.api.ReflectionUtils#allocateInstance
>
> Not very nice, not very evolutive, of course. I hope someone has a better
> solution. :-)
>
> A better way could be to have some kind of UnsafeAllocator hierarchy,
> allowing one to provide custom methods for specific cases like this one.
>
> Ludovic
>
> |
> | AVANT D'IMPRIMER, PENSEZ A L'ENVIRONNEMENT.
> |
>

Reply via email to