/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.view.worker.jmx;
import javax.management.InstanceAlreadyExistsException;
import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.ObjectName;
/**
* JMX exposure of the sequence partitioning worker factory.
*/
public final class StaticSequencePartitioningViewProcessWorkerFactory implements StaticSequencePartitioningViewProcessWorkerFactoryMBean {
private final com.opengamma.engine.view.worker.StaticSequencePartitioningViewProcessWorkerFactory _factory;
private StaticSequencePartitioningViewProcessWorkerFactory(com.opengamma.engine.view.worker.StaticSequencePartitioningViewProcessWorkerFactory factory) {
_factory = factory;
}
private com.opengamma.engine.view.worker.StaticSequencePartitioningViewProcessWorkerFactory getFactory() {
return _factory;
}
protected void registerMBean(final MBeanServer server) throws JMException {
final ObjectName name = new ObjectName("com.opengamma:type=ViewProcessWorkerFactory,name=StaticSequencePartitioningViewProcessWorkerFactory");
try {
server.registerMBean(this, name);
} catch (InstanceAlreadyExistsException e) {
server.unregisterMBean(name);
server.registerMBean(this, name);
}
}
public static void registerMBeans(final com.opengamma.engine.view.worker.StaticSequencePartitioningViewProcessWorkerFactory factory, final MBeanServer server) throws JMException {
new StaticSequencePartitioningViewProcessWorkerFactory(factory).registerMBean(server);
}
// StaticSequencePartitioningViewProcessWorkerFactoryBean
@Override
public void setNumConcurrentWorkersPerProcess(int saturation) {
getFactory().setSaturation(saturation);
}
@Override
public int getNumConcurrentWorkersPerProcess() {
return getFactory().getSaturation();
}
@Override
public void setMinimumCyclesPerWorker(int cycles) {
getFactory().setMinimumCycles(cycles);
}
@Override
public int getMinimumCyclesPerWorker() {
return getFactory().getMinimumCycles();
}
@Override
public void setMaximumCyclesPerWorker(int cycles) {
getFactory().setMaximumCycles(cycles);
}
@Override
public int getMaximumCyclesPerWorker() {
return getFactory().getMaximumCycles();
}
}