[ http://issues.apache.org/jira/browse/HIVEMIND-120?page=comments#action_65705 ] James Carman commented on HIVEMIND-120: ---------------------------------------
Well, what do we propose to do about this? Should we throw an immediate exception when we realize that the bean class has final methods? Do we only override (and therefore support interceptors on) the non-final methods? Thoughts, folks? > Proxy creation failure for non-interface beans > ---------------------------------------------- > > Key: HIVEMIND-120 > URL: http://issues.apache.org/jira/browse/HIVEMIND-120 > Project: HiveMind > Type: Bug > Components: framework > Versions: 1.1 > Environment: Windows XP, Java 1.5 > Reporter: Brian K. Wallace > Attachments: HivemindTestNonInterfaceBean.jar > > When utilizing a non-interface bean as in the following: > <service-point id="MenuBar" interface="javax.swing.JMenuBar"> > The SingletonServiceModel.createSingletonProxy will fail as a result of > trying to override a final method. > Stacktrace follows > ------------------------------------------------- > org.apache.hivemind.ApplicationRuntimeException: Unable to create class > $$JMenuBar_103c097ba17_103c097ba18: by java.lang.VerifyError: class > $$JMenuBar_103c097ba17_103c097ba18 overrides final method s¦ß*'+ > .#Ýß*'+ > at > org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130) > at > org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57) > at > org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:209) > at > org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:222) > at > org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:242) > at org.apache.hivemind.impl.ModuleImpl.getService(ModuleImpl.java:102) > at > org.apache.hivemind.service.impl.BuilderFactoryLogic.autowireProperty(BuilderFactoryLogic.java:395) > at > org.apache.hivemind.service.impl.BuilderFactoryLogic.autowireServices(BuilderFactoryLogic.java:381) > at > org.apache.hivemind.service.impl.BuilderFactoryLogic.setProperties(BuilderFactoryLogic.java:327) > at > org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:77) > at > org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42) > at > org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:84) > at > org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructCoreServiceImplementation(AbstractServiceModelImpl.java:107) > at > org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:157) > at > org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructServiceImplementation(AbstractServiceModelImpl.java:139) > at > org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getActualServiceImplementation(SingletonServiceModel.java:68) > Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create > class $$JMenuBar_103c097ba17_103c097ba18: by java.lang.VerifyError: class > $$JMenuBar_103c097ba17_103c097ba18 overrides final method s¦ß*'+ > .#Ýß*'+ > at > org.apache.hivemind.service.impl.CtClassSource.createClass(CtClassSource.java:88) > at > org.apache.hivemind.service.impl.AbstractFab.createClass(AbstractFab.java:92) > at > org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:184) > at > org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:103) > ... 19 more > Caused by: javassist.CannotCompileException: by java.lang.VerifyError: class > $$JMenuBar_103c097ba17_103c097ba18 overrides final method s¦ß*'+ > .#Ýß*'+ > at javassist.ClassPool.toClass(ClassPool.java:713) > at javassist.CtClass.toClass(CtClass.java:988) > at > org.apache.hivemind.service.impl.HiveMindClassPool.toClass(HiveMindClassPool.java:75) > at > org.apache.hivemind.service.impl.CtClassSource.createClass(CtClassSource.java:84) > ... 22 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]