Liu, Yinwei David opened SPR-6924 and commented

Hi, Spring 3.0.1 cannot process the SpEL expression if SpEL is concatenated with other String in the value attribute of bean tag. However, it works fine in Spring 3.0.0. It will have a big impact because it results in all config with SpEL fails to get started. Please see my test case below.

E.g. The config below can work in Spring 3.0.0, but it fails in 3.0.1.

\ \ \

Is it a known issue in Spring 3.0.1?

David


Affects: 3.0.1

Attachments: - testing.zip (3.42 MB)

Issue Links: - #11531 Expression.getValue(..., Class) calls that invoke methods fail with a ArrayIndexOutOfBoundsException when method return value needs to be converted to the desired result type

Referenced from: commits https://github.com/spring-projects/spring-framework/commit/0444ab236ae5529514a71cffa4d2686e8e1a2d37

Comment From: spring-projects-issues

Liu, Yinwei David commented

Add test case.

Comment From: spring-projects-issues

Liu, Yinwei David commented

It looks like the latest version of Spring 3.0.1.a is incompatible with logback 0.9.18. however, Spring 3.0.0 works well. Please see my test case, if we remove logback related jars, my test case works, however, it failed after adding logback jars.

Comment From: spring-projects-issues

Andrei Stefan commented

This is the change that triggered the error: https://fisheye.springsource.org/browse/spring-framework/trunk/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java#r2956 -> The addition of: if (logger.isDebugEnabled()) { logger.debug("Converting value " + StylerUtils.style(source) +" of " + sourceType + " to " + targetType); }

Comment From: spring-projects-issues

Juergen Hoeller commented

The root of the problem was in TypeDescriptor's toString which didn't work for that specific case, as triggered by that new debug log message. Fixed for 3.0.2; will be available in tonight's 3.0.2 snapshot.

Juergen

Comment From: spring-projects-issues

Liu, Yinwei David commented

Thanks Juergen.

David