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

Guillaume Nodet resolved ARIES-1098.
------------------------------------
    Resolution: Not A Problem
      Assignee: Guillaume Nodet

Committing to https://svn.apache.org/repos/asf/aries/trunk ...
        A       
blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/pojos/VarArg.java
        A       blueprint/blueprint-core/src/test/resources/test-vararg.xml
        M       
blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/WiringTest.java
        M       
blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java
Committed r1822786

You need to use a {{<list>}} element as the var arg is an array.

> BeanRecipe.findMatchingMethods does not support "varargs"
> ---------------------------------------------------------
>
>                 Key: ARIES-1098
>                 URL: https://issues.apache.org/jira/browse/ARIES-1098
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Martin Lichtin
>            Assignee: Guillaume Nodet
>            Priority: Major
>
> For example:
>       <bean id="webServer" class="org.h2.tools.Server" 
> factory-method="runTool"
>               init-method="start" depends-on="jdbcDataSource">
>               <argument value="-web" />
>       </bean>
> with Server.runTool signature:
> public void runTool(String... args)
> gives
> org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to 
> find a matching factory method runTool on class org.h2.tools.Server for 
> arguments [-web] when instanciating bean webServer
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:318)[7:org.apache.aries.blueprint.core:1.1.0]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)[7:org.apache.aries.blueprint.core:1.1.0]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[7:org.apache.aries.blueprint.core:1.1.0]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.1.0]
>       at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_25]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_25]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.1.0]
> ...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to