1. Introduction to the Development Environment for Enterprise Server Add-On Components
Instantiation of Components in HK2
Instantiation Cascading in HK2
Identifying a Class as an Add-On Component
Using the Apache Maven Build System to Develop HK2 Components
3. Extending the Administration Console
4. Extending the asadmin Utility
5. Adding Container Capabilities
6. Packaging, Integrating, and Delivering an Add-On Component
An HK2 service identifies the building blocks or the extension points of an application. A service is a plain-old Java object (POJO) with the following characteristics:
The object implements an interface.
The object is declared in a JAR file with the META-INF/services file.
To clearly separate the contract interface and its implementation, the HK2 runtime requires the following information:
Which interfaces are contracts
Which implementations of such interfaces are services
Interfaces that define a contract are identified by the org.jvnet.hk2.annotation.Contract annotation.
@Retention(RUNTIME) @Target(TYPE) public @interface Contract { }
Implementations of such contracts should be identified with an org.jvnet.hk2.annotations.Service annotation so that the HK2 runtime can recognize them as @Contract implementations.
@Retention(RUNTIME) @Target(TYPE) public @interface Service { ... }
For more information, see Service.