Currently actions are defined and loaded from the oozie config files, this is error prone for the following reasons:
- it requires adding the action class to a property list, a common mistake is to replace instead add; thus disabling other actions.
- it requires adding a pairing XSD to another property list, same issues.
Instead we should use the JDK service load mechanism, this would add a plug an play capability by just adding a JAR with the action classes defined in the service file. Also, the actions should have a method that return the array of supported schemas and register them.