发表于: 2018-02-11 23:43:55
0 686
今日完成:
1. 编写aop在控制台打印java类执行时间
pom文件添加aop依赖
<!-- AOP -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.13</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
spring的context文件开启@Aspect注解,必须和需要AOP的类的bean扫描在同一个xml中
<!-- 启用 @Aspect -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
注意需要添加
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
添加AOP类
@Aspect
@Component
public class LoggerAspect {
//java自带的log日志
private final Logger logger = Logger.getLogger("DB_Controller");
@Pointcut("execution(* com.myitschool.controller.*.*(..))")
private void controller(){}
@Around("controller()")
public Object controllerTime(ProceedingJoinPoint pjp) throws Throwable {
String className = pjp.getSignature().getName();
long startT = System.currentTimeMillis();
Object re = pjp.proceed();
long time = System.currentTimeMillis() - startT;
logger.info(logger.getName() + " " + className + " " + time);
System.out.println(logger.getName() + " " + className + " " + time);
return re; //有返回值必须
}
}
2. 修改resin的rein.xml文件,获取stdout日志
输出的日志
3. 编写shell文件统计访问controller时间
输出结果
明日计划:
1. 多次测试记录访问DB和执行controller时间
2. 尝试使用jmeter重复测试
3. 整理任务三并提交
遇到的问题:
1. linux中使用压缩包通过make和make install安装的软件,解压包可以删除吗,貌似没什么用了,被这个压缩包误导了,做了很多操作,浪费太多时间
收获:
1. 学习AOP,面向切面编程
2. shell对日志进行分析,非常强大的脚本
3. 使用xhell和xftp
评论