Issue Details (XML | Word | Printable)

Key: SPR-5245
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Juergen Hoeller
Reporter: James Carman
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Spring Framework

AspectJ Load-Time Weaving Breaks Property Editor Look-Up

Created: 29/Oct/08 09:47 AM   Updated: 29/Oct/08 11:04 AM   Resolved: 29/Oct/08 10:55 AM
Component/s: SpringCORE
Affects Version/s: 2.5.5
Fix Version/s: 2.5.6

Time Tracking:
Not Specified

Environment:
java -version:

java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_16-b02, mixed mode)

uname -a

Linux carman-op745 2.6.26.6-79.fc9.x86_64 #1 SMP Fri Oct 17 14:20:33 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

Virtual Machine: Sun JVM - 1.5
Platform: Standalone


 Description  « Hide

I'm trying to use AspectJ Load-Time Weaving in Eclipse (using the AJDT plugin) to launch a stand-alone application. I get the following stack trace:

org.aspectj.weaver.BCException: Do not call nameToSignature with something that looks like a signature (descriptor): '[Lorg.quartz.Trigger;Editor'

at org.aspectj.weaver.UnresolvedType.nameToSignature(UnresolvedType.java:650)
at org.aspectj.weaver.UnresolvedType.forName(UnresolvedType.java:244)
at org.aspectj.weaver.ExtensibleURLClassLoader.getBytes(ExtensibleURLClassLoader.java:70)
at org.aspectj.weaver.loadtime.WeavingURLClassLoader.getBytes(WeavingURLClassLoader.java:165)
at org.aspectj.weaver.ExtensibleURLClassLoader.findClass(ExtensibleURLClassLoader.java:50)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.springframework.beans.BeanUtils.findEditorByConvention(BeanUtils.java:375)
at org.springframework.beans.TypeConverterDelegate.findDefaultEditor(TypeConverterDelegate.java:254)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:171)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1249)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)

I realize that related issues have been brought up before, but I'm not sure it's the exact same thing. Besides, those other issues are listed as fixed and I'm seeing this in 2.5.5.



Juergen Hoeller added a comment - 29/Oct/08 10:55 AM

Seems that AspectJ chokes on invalid class names there... in particular on the (pointless) attempt of finding an Editor for an array class. I've simply added an explicit array exclusion check there. This should be available in tonight's 2.5.6 snapshot (http://static.springframework.org/downloads/nightly/snapshot-download.php?project=SPR). Feel free to give it a try...

Juergen


James Carman added a comment - 29/Oct/08 11:04 AM

Ok, great! Thanks, Mr. Hoeller (and thanks for the quick turn-around)! Do you have any recommendations for us in the mean-time (we can't use snapshots I'm afraid) to work around this issue? Our maven build does compile-time weaving, but we want to be able to quickly develop inside eclipse without having to fire off a maven build each time we change something so that our classes are woven properly.