[wildfly-dev] Capabilities enabled by attributes

Brian Stansberry brian.stansberry at redhat.com
Fri Jul 24 13:59:05 EDT 2015


I would like to propose a requirement that if a particular type of 
resource CAN provide a capability, then it MUST provide that capability 
if it is created. There will be no such thing as a resource providing or 
not providing a capability based on the value of one of its attributes.

My question to subsystem developers is whether they have a situation in 
their configuration model where this will be a problem?

For any case where there is such an attribute, the requirement would 
mean that a child resource would need to be created instead, and that 
child resource would provide the capability. There are tricks we can use 
to preserve the existing attribute to provide management API compatibility.

The only case I'm aware of where this is a factor is the 'jts' attribute 
in the subsystem=transactions resource.

The reason for this requirement is we want tooling to be able to inspect 
the types of resources that are available for use, see what capabilities 
they provide and what requirements they have, and work out what 
resources need to be present in a configuration in order to have a 
consistent set of capabilities. That task is significantly more complex 
if the presence of a capability is determined by some arbitrary 
attribute value. David Lloyd described allowing attributes to control 
this as being "like creating an RDBMS where you have foreign keys that 
only exist if some function evaluates in a certain way."

-- 
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat


More information about the wildfly-dev mailing list