package org.drools.core.management; import javax.management.ObjectName; import org.drools.core.common.InternalWorkingMemoryActions; import org.kie.api.builder.model.KieSessionModel.KieSessionType; import org.kie.api.event.KieRuntimeEventManager; import org.kie.api.management.KieSessionMonitoringMXBean; public class KieSessionMonitoringImpl extends GenericKieSessionMonitoringImpl implements KieSessionMonitoringMXBean { private ObjectName name; public KieSessionMonitoringImpl(String containerId, String kbaseId, String ksessionName) { super(containerId, kbaseId, ksessionName); this.name = DroolsManagementAgent.createObjectNameBy(containerId, kbaseId, KieSessionType.STATEFUL, ksessionName); } @Override public ObjectName getName() { return this.name; } @Override public long getTotalSessions() { return ksessions.size(); } @Override public long getTotalFactCount() { long result = 0; for (KieRuntimeEventManager s : ksessions) { result += ((InternalWorkingMemoryActions) s).getFactCount(); } return result; } }