[ 
https://issues.apache.org/jira/browse/HIVEMIND-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Johan Lindquist updated HIVEMIND-120:
-------------------------------------

    Attachment: hivemind-120.patch

Taken the comments into consideration, the following patch will throw an error 
if the class being instantiated has a method which is declared final.

> Proxy creation failure for non-interface beans
> ----------------------------------------------
>
>                 Key: HIVEMIND-120
>                 URL: https://issues.apache.org/jira/browse/HIVEMIND-120
>             Project: HiveMind
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: 1.1
>         Environment: Windows XP, Java 1.5
>            Reporter: Brian K. Wallace
>         Attachments: hivemind-120.patch, 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to