TapestrySpring does not support injection of Spring FactoryBeans
----------------------------------------------------------------

                 Key: TAPESTRY-2706
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2706
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-spring
         Environment: Spring 2.5.5
            Reporter: Phil Zoio
             Fix For: 5.0.16


This applies as of the released 5.0.16.

SpringModuleDef uses BeanFactoryUtils.beanNamesIncludingAncestors(context) to 
get the list of bean names to inject into Tapestry service registry.

For factory beans, this method returns the bean name prefixed by &

Later calls to context.getBean() using this name return the factory bean 
instance, rather than the target object needed by the application.

Suggested fix:

Replace

for (final String beanName : 
BeanFactoryUtils.beanNamesIncludingAncestors(context))
{

with 

for (final String candidate : 
BeanFactoryUtils.beanNamesIncludingAncestors(context))
{
    final String beanName = (candidate.startsWith("&", candidate.subString(1), 
candidate);


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to