Rickard,
The 'actual' recursion of the stack trace is;
at
org.qi4j.cornercase.covariantReturn.SomeLogicMixin.numbers(SomeLogicMixin.java:15)
at
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a.CGLIB$numbers$1(<generated>)
at
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a$$FastClassByCGLIB$$5e0d1c63.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at
org.qi4j.runtime.composite.TypedMixinInvocationHandler.invoke(TypedMixinInvocationHandler.java:40)
at
org.qi4j.runtime.composite.CompositeMethodInstance.invoke(CompositeMethodInstance.java:59)
at
org.qi4j.runtime.composite.TransientInstance.invoke(TransientInstance.java:127)
at
org.qi4j.runtime.composite.CompositeMethodModel.invoke(CompositeMethodModel.java:148)
at
org.qi4j.runtime.composite.CompositeMethodsModel.invoke(CompositeMethodsModel.java:113)
at
org.qi4j.runtime.composite.AbstractCompositeModel.invoke(AbstractCompositeModel.java:110)
at
org.qi4j.runtime.composite.TransientInstance.invokeProxy(TransientInstance.java:73)
at
org.qi4j.runtime.composite.ThisCompositeInvoker.intercept(ThisCompositeInvoker.java:37)
at
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a.numbers(<generated>)
at
org.qi4j.cornercase.covariantReturn.SomeLogicMixin.numbers(SomeLogicMixin.java:15)
This is in case you can spot the problem "just like that". Meanwhile,
I'll keep digging.
2009/10/2 Łukasz Zieliński <[email protected]>:
> Hello,
> I've been reading the list for some time now and decided to give Qi4j a
> try. While playing around with services I found following issue:
> service interface is defined as:
> interface SomeLogic {
> Collection<Integer> getNumbers();
> }
> and mixin is implemented as:
> class SomeLogicMixin implements SomeLogic {
> public List<Integer> getNumbers() {
> ....
> }
> }
> When I obtain service from ServiceFinder a call to getNumbers() causes
> stackoverflow. When implementation signature matches interface everything is
> working fine.
> Using IDEA Debug run configuration (exception from normal Run is not really
> usable) I narrowed down culprits to following lines:
> Exception in thread "main" java.lang.StackOverflowError
> at
> org.qi4j.runtime.composite.TypedMixinInvocationHandler.invoke(TypedMixinInvocationHandler.java:52)
> at
> org.qi4j.runtime.composite.CompositeMethodInstance.invoke(CompositeMethodInstance.java:59)
> I looks like invocation handler gets called over and over.
> Attached is a simple test application.
> Cheers,
> Lukasz
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>
>
--
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java
I live here; http://tinyurl.com/2qq9er
I work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev