With the release of Mobile Application Framework (MAF) 2.0 and SOA Suite 12c comes a new version of the Oracle Service Bus 12c. In my past 2 blogs I’ve written about several new features in the 12c release that I really enjoy. In thing blog, I’ll introduce you to another new and very useful feature in Service Bus - disabling actions!
In the past, any action that you put into a Service Bus message flow (now called Pipelines in 12c) would be executed. This meant that if you put in logging messages while developing the pipeline, you had to manually delete them before you put the service into production. While deleting these actions is not difficult, it would be far preferable to simply mark them as being, “disabled” so that you could keep any specialized formatting of the log messages in tact and simply enable/disable them as needed.
This principle does not extend merely to Log actions. On numerous occasions I have written Assign actions and Insert actions that involve some considerable XPath wizardy, only to have those statements fail. By taking advantage of the disable/enable function, you can put in several different statements that all do the same thing, and only enable 1 at a time until you narrows it down to the specific statement you prefer. Admittedly, this is usefully only in development, but still its handy to have.
To disable an existing statement, simply right click on it in the pipeline and select Disable from the popup menu, as shown here:
It’s easy to recognize a dialed statement in a pipeline because it has a red circle-slash, “badge” in the upper left hand corner of the icon. The main icon is also greyed-out.
You can disable/enable most actions and nodes in Service Bus. There are a few though, that you cannot. Specifically Route nodes and Operational Branches. Withe the Route node, you can still disable the Routing activity within the Route node, which achieves the same goal.
Check out this capability in your Service Bus 12 projects and let me know what you think. I’m sure there is a way to disable/enable these nodes and activities with the WLST scripting also, though I haven’t looked into that yet.