发表于: 2018-01-09 21:46:02
1 637
今天完成的事:
1、AOP实现连接DB的时间和controller方法执行时间。
2、写脚本查看统计连接DB时间。
3、补讲小课堂,Aspectj实现AOP,主要是讲的xml方式。
4、tomcat启动停止脚本,按照网上写的
遇到的困难:
【问题1-父子容器-已解决】
问题描述:写好AOP相关的配置后,无法拦截controller中方法,一直在检查是不是哪里配置错了,花了很久时间,后来测试dao接口,没有问题
于是百度到这是父子容器的原因
解决方法:将要拦截controller方法的AOP配置写在springmvc中
原因解释如下:
就是父子容器的问题,将AOP的配置信息放在applicationContext.xml中,该配置文件被ContextLoaderListener加载,Spring会创建一个WebApplicationContext的上下文,称为父上下文(父容器),保存在 ServletContext中,key值为WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE。而spring-mvc.xml是DispatcherServlet 的配置文件,这样的servlet可以同时配置多个,每个 DispatcherServlet有一个自己的上下文对象(WebApplicationContext),称为子上下文(子容器),子上下文可以访问父上下文中的内容,但父上下文不能访问子上下文中的内容。 它也保存在 ServletContext中, key值是"org.springframework.web.servlet.FrameworkServlet.CONTEXT"+Servlet名称。当spring加载父容器的时候就会去找切入点,但是这个时候切入的controller是在子容器中的,父容器是无法访问子容器,所以就拦截不到。
参考连接 http://blog.csdn.net/lmy86263/article/details/50808810
【问题2-awk-已解决】
问题描述:在本地可以获取连接db的时间,在服务器上查看日志通过关键字筛选,我用的命令grep
cat jvm-app-0.log | grep '连接数据库时间'
得到结果如下
通过awk '{print $}' 得到的时间始终和标记的文字在一起,无法分开,这样不能筛选反应时间段
解决方法:awk可以根据空格自动分割文本,所以在日志输出的时候加空格,如下
【问题3-shell脚本-已解决】
前两个正常,第三个运行错误
原因:第三个结尾的双引号是中文格式,这个很尴尬
顺便复习一下脚本权限的一些命令
ls -l 文件名 查看权限
chmod 777 文件名 修改文件权限
r-4,w-3,x-1
自己u , 同组g , 其他人o
明天计划:
开始任务4
收获:
1、对awk的切割文本功能理解了
其他同上
2、tomcat启动停止脚本
参考如下
http://blog.csdn.net/gebitan505/article/details/54599598
禅道http://task.ptteng.com/zentao/my-task.html
评论