]
Tomas Hofman commented on WFLY-8238:
------------------------------------
This is a bug in messaging subsystem - {{AlternativeAttributeCheckHandler}} doesn't
allow to undefine attributes where alternatives are set, if the alternatives are
undefined. It should take into account whether the attribute is required or not, which it
doesn't and treats them always as required.
When this is changed it will affect number of other attributes across the subsystem, and
for some the "required" behaviour may be desirable. I didn't find any
attributes that would be marked as required and had alternatives set too, which is
probably a mistake.
Unable to undefine credential-reference
---------------------------------------
Key: WFLY-8238
URL:
https://issues.jboss.org/browse/WFLY-8238
Project: WildFly
Issue Type: Bug
Components: JMS, Security
Reporter: Claudio Miranda
Assignee: Tomas Hofman
A bridge is added and a credential-reference is set.
However a "password" attribute cannot be set as the alternatives constraint
validates the data, but the password attribute has a default value.
Also neither credential-reference and password are required=true, so they may be
undefined.
{code}
/profile=full/subsystem=messaging-activemq/server=default/bridge=test1:add(discovery-group=mane,queue-name=DLQ,forwarding-address=DLQ)
/profile=full/subsystem=messaging-activemq/server=default/bridge=test1:write-attribute(name=credential-reference,value={clear-text=senha1})
/profile=full/subsystem=messaging-activemq/server=default/bridge=test1:undefine-attribute(name=credential-reference)
{
"outcome" => "failed",
"failure-description" => {"domain-failure-description" =>
"WFLYMSGAMQ0069: Attribute (credential-reference) can not been undefined as the
resource does not define any alternative to this attribute."},
"rolled-back" => true
}
{code}
The same problem, when user adds a bridge with a password and later wants to undefine it
to add a credential-reference
{code}
/profile=full/subsystem=messaging-activemq/server=default/bridge=test1:add(discovery-group=mane,queue-name=DLQ,forwarding-address=DLQ,password=senha1)
/profile=full/subsystem=messaging-activemq/server=default/bridge=test1:undefine-attribute(name=password)
{
"outcome" => "failed",
"failure-description" => {"domain-failure-description" =>
"WFLYMSGAMQ0069: Attribute (password) can not been undefined as the resource does not
define any alternative to this attribute."},
"rolled-back" => true
}
{code}