throws PortletException, IOException {
String sConfigurationXML = actionRequest.getParameter("configXML");
String sBrokerName = actionRequest.getParameter("brokerName");
String sBrokerURI = actionRequest.getParameter("brokerURI");
validateConfigXML(sConfigurationXML, actionRequest);
Kernel kernel = PortletManager.getKernel();
try {
AbstractName brokerAbstractName = new AbstractName(URI.create(sBrokerURI));
GBeanData brokerGBeanData = kernel.getGBeanData(new AbstractName(URI.create(sBrokerURI)));
String sBrokerConfigurationXMLPath = brokerGBeanData.getAttribute("amqBaseDir").toString()
+ brokerGBeanData.getAttribute("amqConfigFile").toString();
saveConfigurationFile(resolveConfigurationFile(actionRequest, sBrokerConfigurationXMLPath),
sConfigurationXML);
GeronimoManagedBean jmsBroker = PortletManager.getManagedBean(actionRequest, brokerAbstractName);
if (kernel.isRunning(brokerAbstractName)) {
jmsBroker.stop();
}
jmsBroker.startRecursive();
if (!kernel.isRunning(brokerAbstractName)) {
throw new PortletException(getLocalizedString(actionRequest,
"jmsmanager.broker.failUpdateBrokerNoReason", sBrokerName));
}
addInfoMessage(actionRequest, getLocalizedString(actionRequest, "jmsmanager.broker.successUpdateBroker",
sBrokerName));