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


>
>>  * 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
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to