Hi,
I've been fighting with the Datasource subsystem the last couple of days
and eventually sent a pull request for "Bug 1004977 - Datasource
configuration changes SHOULD NOT require a complete reload/restart of EAP"
Here's the commit summary.
====
"Enabled" attribute is no longer an editable configuration property (it
will still be available on (xa-)datasource creation).
Instead, users will have to use the "Enable"/"Disable" operations.
"Enable"/"Disable" definitions have been changed to include a new
"allow-resource-service-restart" property, defaulting to false.
If set to true, the corresponding management request header will be
added. This allows to disable/enable a datasource without a server reload.
The datasource component update configuration logic has been enhanced to
send only configuration changes. It requires an extra request
to read the current datasource config, but it avoids a server reload or
datasource disable/enable cycle if the user only wants to
change a set of properties which do not require it.
Also, a new specific component class has been added for the datasources
subsystem resource type. It used to be shared with the (xa-)datasource
component.
While in the beginning it probably was easier to have a single class for
code sharing between the "Create Child Resource" process and the "Update
Configuration Process",
the (xa-)datasource component logic has become quite complex so it's
safer to have separate component classes.
Eventually, the plugin descriptor has been updated to document that some
(xa-)datasource properties cannot be unset if they already have a value.
====
Would any one like to review? I'm currently writing new AS7 plugin
itests for the datasource component and I'll hopefully push them tomorrow.
https://github.com/rhq-project/rhq/pull/136
Thanks,
Thomas