package org.mobicents.slee.sipevent.server.subscription.jmx;
import javax.management.InstanceAlreadyExistsException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import org.apache.log4j.Logger;
import org.mobicents.slee.container.SleeContainer;
public class SubscriptionControlManagement implements SubscriptionControlManagementMBean {
private Logger logger = Logger.getLogger(SubscriptionControlManagement.class);
private int defaultExpires = 3600;
private int maxExpires = defaultExpires;
private int minExpires = 60;
private int defaultWaitingExpires = (24*60*60);
private int maxForwards = 70;
private String contactAddressDisplayName = "Mobicents SIP Event Server";
private boolean eventListSupportOn = true;
private String pChargingVectorHeaderTerminatingIOI = "mobicents.org";
public void startService() throws Exception {
MBeanServer mbs=SleeContainer.lookupFromJndi().getMBeanServer();
ObjectName on=null;
try {
on=new ObjectName(MBEAN_NAME);
} catch (MalformedObjectNameException e) {
logger.error(e);
}
try {
if (mbs.getObjectInstance(on) != null) {
mbs.unregisterMBean(on);
}
} catch (InstanceNotFoundException e) {
// ignore
} catch (Exception e) {
logger.error(e);
}
try {
mbs.registerMBean(this, on);
} catch (InstanceAlreadyExistsException e) {
logger.error(e);
}
logger.info("SIP Event Subscription Control Management MBean started.");
}
public void stopService() {
try {
SleeContainer.lookupFromJndi().getMBeanServer().unregisterMBean(new ObjectName(MBEAN_NAME));
logger.info("SIP Event Subscription Control Management MBean stopped.");
} catch (Exception e) {
logger.error("Failed to stop SIP Event Subscription Control Management MBean.",e);
}
}
public int getDefaultExpires() {
return defaultExpires;
}
public void setDefaultExpires(int defaultExpires) {
this.defaultExpires = defaultExpires;
}
public int getMaxExpires() {
return maxExpires;
}
public void setMaxExpires(int maxExpires) {
this.maxExpires = maxExpires;
}
public int getMinExpires() {
return minExpires;
}
public void setMinExpires(int minExpires) {
this.minExpires = minExpires;
}
public int getDefaultWaitingExpires() {
return defaultWaitingExpires;
}
public void setDefaultWaitingExpires(int defaultWaitingExpires) {
this.defaultWaitingExpires = defaultWaitingExpires;
}
public int getMaxForwards() {
return maxForwards;
}
public void setMaxForwards(int maxForwards) {
this.maxForwards = maxForwards;
}
public String getContactAddressDisplayName() {
return contactAddressDisplayName;
}
public void setContactAddressDisplayName(String contactAddressDisplayName) {
this.contactAddressDisplayName = contactAddressDisplayName;
}
public boolean getEventListSupportOn() {
return eventListSupportOn;
}
public void setEventListSupportOn(boolean eventListSupportOn) {
this.eventListSupportOn = eventListSupportOn;
}
public String getPChargingVectorHeaderTerminatingIOI() {
return pChargingVectorHeaderTerminatingIOI;
}
public void setPChargingVectorHeaderTerminatingIOI(
String chargingVectorHeaderTerminatingIOI) {
pChargingVectorHeaderTerminatingIOI = chargingVectorHeaderTerminatingIOI;
}
}