I'm surprised that proxy-type setting didn't make any difference, because "none" should have turned off proxying completely, "java" should have used java.lang.proxy, which is the default. If you leave proxy-type attribute out, I believe it tries to use BCEL if found, java.lang.Proxy otherwise. I bet there is a bug in that conditional code that we have not run into. I can't think of anything that changed, but maybe BCEL appeared in the server classpath somehow? First thing should be to try and remove BCEL and see if that makes a difference. I am not 100% sure, but this particular error might mean that the class you are trying to instantiate has the same method/signature more than once. In other words, for example,. if you derive MyModel from BaseModel, and they both implement some life-cycle interface, this could happen. Or, could it be that two interfaces define the same method?
Shash
Eric Simmerman wrote:
Keelers,
I’m building an extension to an open source project based on Keel called Spider (http://www.tempeststrings.com/spider/index.shtml). The current version of Spider is based on a snapshot of Keel’s HEAD from about 8 weeks ago. My extension required me to update Spider to run against the latest Keel HEAD, but when I did, my application broke with the Error stacktrace pasted below. I’m seeing a ClassFormatError, which is something I’ve not run into before. I googled it and found some advice suggesting that I clean my build paths and recompile my classes. I did that for Spider’s jars and for keel-core & keel-server, to no avail. As you can see from the stacktrace, I’m attempting to use the KeelDirectServer to execute SpiderModel. Everything seems to work as expected (KeelContainer & DirectServer start up without error) until Fortress attempts to load my Model. Nothing in my Model has changed, so I’m guessing that whatever validation is throwing the FormatError was not a part of the last snapshot or was not configured by default. Can anyone guess as to what new feature or configuration might be causing me this pain? My first thought was to blame proxy use since it appears that a BCELWrapper is involved, but I tried both <keel proxy-type="java"> and <keel proxy-type="none">, and neither seemed to make any difference….
I’ve been looking into this for a bit, so any thoughts or comments would be much appreciated.
Thanks,
-Eric
[KeelAbstractServer] Context passed to model was {ComparableContext:(no items)}
java.lang.ClassFormatError: com/tempeststrings/spider/models/SpiderModel$BCELWrapper (Repetitive method name/signature)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.lang.ClassLoader.defineClass(ClassLoader.java:431)
at org.apache.avalon.fortress.impl.factory.BCELWrapperGenerator$BCELClassLoader.findClass(BCELWrapperGenerator.j
ava:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at org.apache.avalon.fortress.impl.factory.BCELWrapperGenerator.createWrapper(BCELWrapperGenerator.java:272)
at org.apache.avalon.fortress.impl.factory.WrapperObjectFactory.newInstance(WrapperObjectFactory.java:94)
at org.apache.avalon.fortress.impl.handler.AbstractComponentHandler.newComponent(AbstractComponentHandler.java:2
78)
at org.apache.avalon.fortress.impl.handler.ThreadSafeComponentHandler.doPrepare(ThreadSafeComponentHandler.java:
72)
at org.apache.avalon.fortress.impl.handler.AbstractComponentHandler.prepareHandler(AbstractComponentHandler.java
:179)
at org.apache.avalon.fortress.impl.handler.AbstractComponentHandler.get(AbstractComponentHandler.java:209)
at org.apache.avalon.fortress.impl.handler.LEAwareComponentHandler.get(LEAwareComponentHandler.java:128)
at org.apache.avalon.fortress.impl.lookup.FortressServiceManager.lookup(FortressServiceManager.java:129)
at org.keel.core.container.KeelServiceManager.lookup(KeelServiceManager.java:63)
at org.keel.core.container.AbstractKeelServiceable.getService(AbstractKeelServiceable.java:113)
at org.keel.services.model.defaultmodel.DefaultModelRequest.getService(DefaultModelRequest.java:453)
at org.keel.services.model.defaultmodel.DefaultModelRequest.execute(DefaultModelRequest.java:147)
at org.keel.services.model.defaultmodel.DefaultModelRequest$BCELWrapper.execute(Unknown Source)
at org.keel.servers.direct.KeelDirectServer.execute(KeelDirectServer.java:251)
at org.keel.servers.direct.KeelDirectServer$MultiThreadedProcessor.run(KeelDirectServer.java:294)
http://keelframework.org/documentation Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
