|
From: Alef A. <al...@jt...> - 2003-12-16 11:22:26
|
Ok, the story continues. Juergen, I've added a test to the context.support package, ClasspathXmlApplicationContextTests. There are trhee contexts. B and C have to Logic beans in them. In A, there are two Assembler beans, that both assemble a Service bean (also defined in A) and a Logic bean (assemblerOne collaborates with logicOne, assemblerTwo collaborates with logicTwo). Both Assembler beans are wrapped by a TxProxyFactory (resulting in wrappedAssemblerOne and wrappedAssemblerTwo). These are also defined in A. Then - and that's the issue - logicOne depends on wrappedAssemblerTwo, logicTwo depends on wrappedAssemblerOne. This all goes well - until I let Assembler implement _any_ interface. Right now, I've commented out the implementation in Assembler of TestIF. Just uncomment it, run the test, and it'll fail. As it is located in the CVS, it'll succeed! It seems like the transactionmanager proxy does not implement all interface or something a like. Exception: Can't resolve reference to bean 'logicOne' while setting property 'logic' on bean 'assemblerOne'; nested exception is: org.springframework.beans.FatalBeanException: Can't resolve reference to bean 'wrappedAssemblerTwo' while setting property 'assembler' on bean 'logicOne'; nested exception is: org.springframework.beans.FatalBeanException: Can't resolve reference to bean 'assemblerTwo' while setting property 'target' on bean 'wrappedAssemblerTwo'; nested exception is: org.springframework.beans.FatalBeanException: Can't resolve reference to bean 'logicTwo' while setting property 'logic' on bean 'assemblerTwo'; nested exception is: PropertyVetoExceptionsException: 1 errors:-- ErrorCodedPropertyVetoException: message=[Failed to convert property value of type [$Proxy0] to required type [org.springframework.context.support.Assembler] for property named 'assembler'; nested exception is: java.lang.IllegalArgumentException: argument type mismatch]; errorCode=[typeMismatch] Hope this provides more info on the issue? Alef |