You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jochen Kemnade (JIRA)" <ji...@apache.org> on 2014/05/27 09:20:32 UTC

[jira] [Updated] (TAP5-529) Attach an annotation marker(s) with @Component to remove ambiguities of injection within a component.

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

Jochen Kemnade updated TAP5-529:
--------------------------------

    Labels: bulk-close-candidate  (was: tapestry5-review-for-closing)

This issue has been last updated about 1.5 years ago, has no assignee, affects an old version of Tapestry that is not actively developed anymore, and is therefore prone to be bulk-closed in the near future.

If the issue still persists with the most recent development preview of Tapestry (5.4-beta-6, which is available from Maven Central), please update it as soon as possible. In the case of a feature request, please discuss it with the Tapestry developer community on the dev@tapestry.apache.org mailing list first.


> Attach an annotation marker(s) with @Component to remove ambiguities of injection within a component.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-529
>                 URL: https://issues.apache.org/jira/browse/TAP5-529
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.0, 5.0.18
>            Reporter: Yunhua Sang
>            Priority: Minor
>              Labels: bulk-close-candidate
>
> Sometimes a component doesn't know which instance of a common interface is going to be used at design time; the appropriate instance of a common interface will be injected at runtime. For example, a JDBCTable component is using a DataSource:
> public class JDBCTable {
>     @Inject
>     private DataSource dataSource;
>     @Parameter(required = true, defaultPrefix = "literal")
>     private String table;
>     ....
> }
> When there are multiple DataSource existing, it seems hard to inject a DataSource I wanted into this component, a possible way is to make dataSource a parameter. 
> It would be nice that Tapestry 5 can remove this kind of ambiguities of injection by attaching an annotation marker(s) with @Component, as
> @Oracle
> @Component
> private JDBCTable jdbcTable;
> The @Oracle should has higher priority than the one(s) already defined in the component.



--
This message was sent by Atlassian JIRA
(v6.2#6252)