On 3 May 2010 18:27, Stuart McCulloch <[email protected]> wrote:

> On 3 May 2010 18:11, Rickard Öberg <[email protected]> wrote:
>
>> On 2010-05-03 17.50, Niclas Hedhman wrote:
>>
>>> Rickard,
>>>
>>> I have been trying to get the Google App Engine support up. And using
>>> the MapEntityStore prescribes the LockingAbstractComposite in the
>>> locking library. That composite in turn uses the
>>> ReentrantReadWriteLock as a mixin implementation, which Qi4j runtime
>>> wants to bytecode enhance via CGLib. The enhanced class uses the same
>>> package name as the original, and GAE has strict rules on not allowing
>>> classes in certain package names. Hence this fails.
>>>
>>> I see 2 solutions to this;
>>>
>>>  * Let the enhancer know about special handling of ^java.* package
>>> names and stick the result in our own namespace.
>>>
>>
>> I think this should work. IIRC there's a hook for the namespace handling,
>> so it shouldn't be that difficult.
>
>
> another trick is to prefix the proxy name with $ if it's in the java.*
> namespace, eg:
>
>    java.lang.Runnable ---> $java.lang.Runnable$qi4j
>
> vs.
>
>    com.foo.Bar ---> com.foo.Bar$qi4j
>
> this avoids any clashes that might happen if you push all java.* proxies
> under one package
>

^ and it also means you can still decode the original FQN from the proxy
name


>
>>
>>>  * Change the Lock library to not use the RRWL directly in this fashion.
>>>
>>> WDYT?
>>>
>>> Cheers
>>>
>>  _______________________________________________
>> qi4j-dev mailing list
>> [email protected]
>> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>>
>
> --
> Cheers, Stuart
>

-- 
Cheers, Stuart
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to