for (com.sun.enterprise.config.serverbeans.Config cfg : cfgs) {
if ((cfg == null) || (cfg.getAvailabilityService() == null) ||
(cfg.getAvailabilityService().getConvergedLoadBalancer() == null)) {
continue;
} else {
ConvergedLoadBalancer clb = cfg.getAvailabilityService()
.getConvergedLoadBalancer();
if (!clb.isAutoCommit()) {
continue;
}
String configName = cfg.getName();
ClbConfigPublisher clbp = new ClbConfigPublisher(ctx,
clb.getConvergedLbConfigName(), clb.getName(), configName);
ClbAdminEventHelper lbAdminEventHelper = new ClbAdminEventHelper(ctx, clbp, clb, configName);
if (lbAdminEventHelper.isApplyChangesRequired()) {
_logger.log(Level.FINE, "sip.clbadmin.changes_detected");
String configFileNewValue = clbp.publish(clb.getConfigFile());
// set the value of config-file in the converged-load-balancer element
MBeanServer mbs = AdminService.getAdminService().getAdminContext().getMBeanServer();
String[] types = new String[] {(new String[]{}).getClass().getName()};
_logger.log(Level.FINE,
_sMgr.getString("sip.clbadmin.set_configfile",configFileNewValue));
if (!createInstance) {
Object[] returnValues = (Object[])mbs.invoke(
new ObjectName("com.sun.appserv:name=dotted-name-get-set,type=dotted-name-support"),
"dottedNameSet",
new Object[] {new String[] {cfg.getName() + ".availability-service.converged-load-balancer.config-file=" + configFileNewValue}},
types);
}
else {
String configFileOldValue = clb.getConfigFile();
Object[] returnValues = (Object[])mbs.invoke(
new ObjectName("com.sun.appserv:name=dotted-name-get-set,type=dotted-name-support"),
"dottedNameSet",
new Object[] {new String[] {cfg.getName() + ".availability-service.converged-load-balancer.config-file=" + configFileNewValue}},
types);