name = jmxManagement.getJmxDomain() + key_value_list + ",name=" + thisComponentName + "_"
+ servicePerformance.getLabel();
registerWithAgent(servicePerformance, name);
servicePerformance.setIdleTime(System.nanoTime());
ServiceInfo serviceInfo = null;
if (remote) {
serviceInfo = getInputChannel().getServiceInfo();
} else {
serviceInfo = new ServiceInfo(isCasMultiplier(), this);
serviceInfo.setBrokerURL(getBrokerURL());
serviceInfo.setInputQueueName(getName());
// if a colocated service, set its key as defined in the AE descriptor
if ( !this.isTopLevelComponent() ) {
serviceInfo.setServiceKey(delegateKey);
// Modify service performance MBean to expose number
// of threads processing replies
Delegate delegate = ((AggregateAnalysisEngineController) parentController)
.lookupDelegate(delegateKey);
if ( delegate != null ) {
servicePerformance.setReplyThreadCount(delegate.getEndpoint().getConcurrentReplyConsumers());
}
}
}
ServiceInfo pServiceInfo = null;
if (this instanceof PrimitiveAnalysisEngineController) {
pServiceInfo = ((PrimitiveAnalysisEngineController) this).getServiceInfo();
servicePerformance.setProcessThreadCount(((PrimitiveAnalysisEngineController) this)
.getServiceInfo().getAnalysisEngineInstanceCount());
} else {
pServiceInfo = ((AggregateAnalysisEngineController) this).getServiceInfo();
pServiceInfo.setAggregate(true);
}
if (pServiceInfo != null) {
// If this is a Cas Multiplier, add the key to the JMX MBean.
// This will help the JMX Monitor to fetch the CM Cas Pool MBean
if (isCasMultiplier()) {
pServiceInfo.setServiceKey(getUimaContextAdmin().getQualifiedContextName());
pServiceInfo.setCmRegisteredName(getUimaContextAdmin().getUniqueName());
}
name = jmxManagement.getJmxDomain() + key_value_list + ",name=" + thisComponentName + "_"
+ serviceInfo.getLabel();
if (!isTopLevelComponent()) {
pServiceInfo.setBrokerURL("Embedded Broker");
} else {
pServiceInfo.setTopLevel();
}
if (isCasMultiplier()) {
pServiceInfo.setCASMultiplier();
}
registerWithAgent(pServiceInfo, name);
}