1

我正在使用 eclipse IDE 构建一个 Spring 项目,该项目标识模块的执行时间,为了得到我正在使用jamonapi.monitorfactory的,我在项目构建中添加了外部jamonapi-all.jar,但我仍然得到了import com.jamonapi .monitor cannot be resolved error.

 package com.blog.samples.aop;

 import java.util.Date;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.After;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.apache.log4j.Logger;

 import com.jamonapi.Monitor;
 import com.jamonapi.MonitorFactory;


 @Aspect
 public class PerformanceMonitor
 {
private static final Logger logger_c = Logger.getLogger(PerformanceMonitor.class);
private final String MONITOR = "PERFORMANCE_MONITOR";
private Monitor monitor_i;


@Before("execution(*com.blog.samples.aop.CalculationService.dummyServiceMethod())")
public void startMonitor()
{
    monitor_i = MonitorFactory.start(MONITOR);
}


@After("execution(*com.blog.samples.aop.CalculationService.dummyServiceMethod())")
public void stopMonitor()
{
    monitor_i.stop();
}

public Date getLastAccess()
{
    return monitor_i.getLastAccess();
}

public int getCallCount()
{
    return (int) monitor_i.getHits();
}

public double getAverageCallTime()
{
    return monitor_i.getAvg() / 1000;
}

public double getLastCallTime()
{
    return monitor_i.getLastValue() / 1000;
}

public double getMaximumCallTime()
{
    return monitor_i.getMax() / 1000;
}

public double getMinimumCallTime()
{
    return monitor_i.getMin() / 1000;
}
public double getTotalCallTime()
{
    return monitor_i.getTotal() / 1000;
}

@After("execution(*com.blog.samples.aop.CalculationService.dummyServiceMethod())")
public void log(JoinPoint joinPoint_p)
{
    StringBuffer sb = new StringBuffer();

    sb.append("\n");
    sb.append("*======================================");
    sb.append("\n");
    sb.append("*       PERFORMANCE STATISTICS        *");
    sb.append("\n");
    sb.append("*======================================");
    sb.append("\n");
    sb.append("*  Method Name: " + joinPoint_p.getSignature().getName());
    sb.append("\n");
    sb.append("*  Execution Date: ").append(this.getLastAccess());
    sb.append("\n");
    sb.append("*  Last Execution Time:  ").append(this.getLastCallTime()).append(" sec");
    sb.append("\n");
    sb.append("*  Service Calls: ").append(((this.getCallCount())));
    sb.append("\n");
    sb.append("*  Avg Execution Time: ").append(this.getAverageCallTime()).append(" sec");
    sb.append("\n");
    sb.append("* TotalExecutionTIme:").append(this.getTotalCallTime()).append(" sec");
    sb.append("\n");
    sb.append("* MinExecutionTime:").append(this.getMinimumCallTime()).append(" sec");
    sb.append("\n");
    sb.append("*  Max Execution Time: ").append(this.getMaximumCallTime()).append(" sec");
    sb.append("\n");
    sb.append("*======================================");

    logger_c.info(sb.toString());
}
4

2 回答 2

0
  • jamonapi-all.jar 不是包含 jamon 类的 jar。
  • 你想要的是jamon-2.75.jar。它应该在 jamonapi-all.jar 中,或通过 http://www.jamonapi.com获得
  • 或者,您可以使用可以从 JAMon 网站获得的 jamon 的 maven 依赖项。
于 2014-04-10T13:54:08.807 回答
0

正确的导入是这样的:

    导入 org.jamon.api.*;

但是,在该包中找不到该 Monitor 类。

于 2014-04-05T15:18:03.217 回答