Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS Design 218016
Back to Management Enablement Design
Change History
Name: | Date: | Revised Sections: |
---|---|---|
Joel Hawkins | 02/12/2008 |
|
Workload Estimation
Process | Sizing | Names of people doing the work |
---|---|---|
Design | 0.2 | Joel Hawkins |
Code | 2 | |
Test | 1 | |
Documentation | 0.5 | |
Build and infrastructure | 0.3 | |
Code review, etc.* | ||
TOTAL | 4 |
'* - includes other committer work (e.g. check-in, contribution tracking)
Requirement
When serializing EPRs for cosmos components, the underlying muse infrastructure replaces the hostname supplied for the managed resource with the IP address corresponding to the host name. This may cause problems when communicating with IPv6 networks or when re-basing a given host onto a different address.
Design
By default, the wsdm binding use the canonical host name of the local host as the host portion of the endpoint reference address. If the system property org.eclipse.cosmos.me.management.UseIPAddressForEPR is true, then the binding will use the IP address of the local host.
The ManagedResource annotation will be augmented to allow adopters to specify how to represent the hostname when constructing the resource's EPR.
/** * Annotation used to indicate a class to be exposed as a manageable resource. */ @Target(TYPE) @Retention(RUNTIME) public @interface ManagedResource { /** * A text description of the resource. This value will be used as the * default description when the resource is introspected. */ String description() default ""; /** * The namespace of the resource. This namespace will be used for all * operations and properties exposed by this resource (unless overridden) * that are not part of some other capability */ String namespace() default ""; /** * The desired persistence model for the resource. */ String persistent() default "never"; /** * If true, indicates that the resource should support advertisement, and * that the initial advertisementConsumer should be honored. */ boolean advertise() default false; /** * A text string used by the management host to identify the * endpoint of an initial advertisement. This attribute is only used * if advertise is true. */ String advertisementConsumer() default ""; /** * A name used to supply a target for AutoWire-annotated * fields in other managed components. */ String autowireName() default ""; /** * Use the host name when generating the resource's EPR. * If useHostNameInEPR is set to false, the numeric IP address * is used instead. */ boolean useHostNameInEPR() default true; }
Open Issues/Questions
All reviewer feedback should go in the Talk page for 218016.