jbossas/jboss-as — pull request #3613 by jmesnil (2012-12-11 08:10:07+00:00)
Title: [AS7-5121] Refactor messaging transport

This is part of the task to allow expressions for the messaging subsystem [AS7-6078].

Expressions were resolved manually for transport params but their model was not allowing expressions. This patch cleans this up and leverage the SimpleAttributeDefinition API to parse and resolve expressions.

* simplify messaging transport parameter parsing leveraging
AttributeDefinition API to be able to allow expressions
* allow expressions for factory-class too
* add HornetQReloadRequiredHandlers to add/remove/write-attribute
that requires a reload if the hornetq service is running
* the same modifications are applied to the connector-service resource
that is similar (bound to the HornetQ server lifecycle)

Comparison with 7.1.2.Final model:

====== Resource root address: ["subsystem" => "messaging"] - Current version: 1.2.0; legacy version: 1.1.0 =======
--- Problems for relative address to root ["hornetq-server" => "*","acceptor" => "*"]:
Different 'expressions-allowed' for attribute 'factory-class'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'factory-class' of operation 'add'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","acceptor" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","connector" => "*"]:
Different 'expressions-allowed' for attribute 'factory-class'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'factory-class' of operation 'add'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","connector" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","connector-service" => "*"]:
Different 'expressions-allowed' for attribute 'factory-class'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'factory-class' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","connector-service" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","in-vm-acceptor" => "*"]:
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","in-vm-acceptor" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","in-vm-connector" => "*"]:
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","in-vm-connector" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","remote-acceptor" => "*"]:
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","remote-acceptor" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","remote-connector" => "*"]:
Different 'expressions-allowed' for parameter 'param' of operation 'add'. Current: true; legacy: false

--- Problems for relative address to root ["hornetq-server" => "*","remote-connector" => "*","param" => "*"]:
Different 'expressions-allowed' for attribute 'value'. Current: true; legacy: false
Different 'expressions-allowed' for parameter 'value' of operation 'add'. Current: true; legacy: false