package zendo.playground.sd;
//@Aspect
//@ManagedResource( description = "PRS monitoring jms consumer", objectName = "nvpresence:name=monitor,type=jmsConsumer" )
public class MBeanExport {
/*
private static final Log log = LogFactory.getLog( JmsConsumerMonitoringAspect.class );
private long sumTime = 0;
private long numRequests = 0;
private long startTime = System.currentTimeMillis();
@Around( "execution(public * com.netviewer.nvserver.presence.business.PresenceRequestHandler.handle*(..))" )
public Object addMonitorConsumer( ProceedingJoinPoint joinPoint ) throws Throwable {
long startTime = System.currentTimeMillis();
Object result=joinPoint.proceed();
long endTime = System.currentTimeMillis();
if ( log.isDebugEnabled() )
log.debug( "[" + joinPoint.getSignature().getName() + "][" + startTime + "][" + endTime + "]["
+ (endTime - startTime) + "]" );
sumTime += (endTime - startTime);
numRequests++;
return result;
}
@ManagedAttribute( description = "average time the consumers needs to do their work (cut after 2 digits after decimal point)" )
public double getAverageTime() {
return (numRequests > 0) ? 100 * sumTime / numRequests / 100.0D : -1.0D;
}
@ManagedAttribute( description = "the sum of time the consumers needs to do their work" )
public long getSumTime() {
return sumTime;
}
@ManagedAttribute( description = "number of requests the consumers had to handle" )
public long getNumRequests() {
return numRequests;
}
@ManagedOperation( description="reset the collected values" )
public void reset() {
sumTime = 0;
numRequests = 0;
startTime = System.currentTimeMillis();
}
@ManagedOperation( description="number of requests per minute" )
public double getNumRequestsPerMinute() {
return 60000 * numRequests / (System.currentTimeMillis() - startTime) ;
}
*/
}