You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Friederich Christophe (JIRA)" <ji...@apache.org> on 2014/09/12 11:43:33 UTC
[jira] [Updated] (CAY-1955) add support jsr-250 and jsr330 to DI
[ https://issues.apache.org/jira/browse/CAY-1955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Friederich Christophe updated CAY-1955:
---------------------------------------
Description:
h4. Add partial *JSR-250* lifecycle annotations support:
* {{@PostConstruct}} is used on methods that need to get executed after dependency injection is done to perform any initialization.
* {{@PreDestroy}} is used on methods that are called before the instance is removed from the container
h4. Add partial *JSR-330* dependency injector annotations support
* {{@Inject}} identifies injectable constructors, methods, and fields.
* {{@Named}} type named.
* {{Provider<T>}} interface Provides instances of T.
* {{@Scope}} Identifies scope annotations.
* {{@Singleton}} Identifies a type that the injector only instantiates once.
* {{-@Qualifier-}} not implemented.
h4. Deprecate _org.apache.cayenne.di.Inject_ annotion and _org.apache.cayenne.di.Provider_ interface
h4. add {{lazy}}/{{eager}} singleton instantiation
- {{lazy}} is default implementation.
- {{earger}} allows initializing singleton upon cayenne run-time started, exceptions will occur at start-up time vs first be used and avoids any delay when the service provided is requested the first time.
h4. add possibility to inject a specific provider (_optional_)
{code}
public interface ProviderResource extends Provider<Resource> {
public Resource get() {...}
public void close() {...}
}
...
public class Manager {
@Inject
@Named("domainFile")
private ProviderResource resource;
}
{code}
was:
h4. Add partial *JSR-250* lifecycle annotations support:
* {{@PostConstruct}} is used on methods that need to get executed after dependency injection is done to perform any initialization.
* {{@PreDestroy}} is used on methods that are called before the instance is removed from the container
h4. Add partial *JSR-330* dependency injector annotations support
* {{@Inject}} identifies injectable constructors, methods, and fields.
* {{@Named}} type named.
* {{@Provider<T>}} Provides instances of T.
* {{@Scope}} Identifies scope annotations.
* {{@Singleton}} Identifies a type that the injector only instantiates once.
* {{-@Qualifier-}} not implemented.
h4. Deprecate _org.apache.cayenne.di.Inject_ annotion and _org.apache.cayenne.di.Provider_ interface
h4. add {{lazy}}/{{eager}} singleton instantiation
- {{lazy}} is default implementation.
- {{earger}} allows initializing singleton upon cayenne run-time started, exceptions will occur at start-up time vs first be used and avoids any delay when the service provided is requested the first time.
> add support jsr-250 and jsr330 to DI
> ------------------------------------
>
> Key: CAY-1955
> URL: https://issues.apache.org/jira/browse/CAY-1955
> Project: Cayenne
> Issue Type: Improvement
> Components: Core Library
> Reporter: Friederich Christophe
> Priority: Minor
> Labels: patch
>
> h4. Add partial *JSR-250* lifecycle annotations support:
> * {{@PostConstruct}} is used on methods that need to get executed after dependency injection is done to perform any initialization.
> * {{@PreDestroy}} is used on methods that are called before the instance is removed from the container
> h4. Add partial *JSR-330* dependency injector annotations support
> * {{@Inject}} identifies injectable constructors, methods, and fields.
> * {{@Named}} type named.
> * {{Provider<T>}} interface Provides instances of T.
> * {{@Scope}} Identifies scope annotations.
> * {{@Singleton}} Identifies a type that the injector only instantiates once.
> * {{-@Qualifier-}} not implemented.
> h4. Deprecate _org.apache.cayenne.di.Inject_ annotion and _org.apache.cayenne.di.Provider_ interface
> h4. add {{lazy}}/{{eager}} singleton instantiation
> - {{lazy}} is default implementation.
> - {{earger}} allows initializing singleton upon cayenne run-time started, exceptions will occur at start-up time vs first be used and avoids any delay when the service provided is requested the first time.
> h4. add possibility to inject a specific provider (_optional_)
> {code}
> public interface ProviderResource extends Provider<Resource> {
> public Resource get() {...}
> public void close() {...}
> }
> ...
> public class Manager {
> @Inject
> @Named("domainFile")
> private ProviderResource resource;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)