spring-projects/spring-scala — pull request #33 by nurkiewicz (2013-12-03 22:14:26+00:00)
Title: Implements Ordered so that always runs before ExtendedBeanInfoFactory

`ScalaBeanInfoFactory` does not implement `Ordered` interface. Thus when `SpringFactoriesLoader.loadFactories()` locates all available factories, the order between `BeanInfoFactory` and `ExtendedBeanInfoFactory` is unspecified.

This may become a problem if both factories accept given bean (when Scala class has Java setter by coincidence) - `ExtendedBeanInfoFactory` fails to recognize Scala setters later on. To make matters worse the order of these two classes is unspecified - it is related to the order of Spring JARs on the CLASSPATH. This means that for example injection works in IDE but fails in maven...

This PR makes it explicit which factory is picked up first.