我有一个AspectJ建议,它的切入点是处理程序
类型切入点。
下面是我要建议的包含连接点的方法:
public void foo(String p1) {
try {
// some code
}
catch(Exception ex) {
// more code
}
}
以下是我的方面的代码:
pointcut foopc(Exception ex) : handler(Exception) && args(ex) && withincode(public void foo(String));
before(Exception ex) : foopc(ex) {
// advice body
}
我想要的是捕获变量
p1
并在建议正文中使用它(除了异常ex
之外)。这有可能吗?如果是这样,我该怎么做?
我相信我已经弄明白了。如果有人有更好的答案或更合适的方式,我会接受它而不是我的。
方面中的代码:
pointcut fooExec(String p1) :
execution(public void foo(String)) && args(p1);
pointcut fooHandler(String p1, Exception ex) :
cflow(fooExec(p1)) && handler(Exception) && args(ex)
&& withincode(public void foo(String));
before(String p1, Exception ex) : fooHandler(p1, ex) {
// I can now use the variables p1 and ex.
}
编辑:
我应该指出,执行
中的签名可以是**(String)
,两个切入点可以组合成这样一个:
pointcut fooHandler(String p1, Exception ex) :
cflow(execution(* *(String) && args(p1)))
&& handler(Exception) && args(ex)
&& withincode(public void foo(String));
问题内容: 我正在尝试进行一些日志记录,以捕获进入我的应用程序的原始http请求。我的Java代码在SpringMVC控制器内部。我可以访问“ HttpServletRequest”对象。但是我找不到从中获取原始http请求流的方法。有读者,但只阅读帖子内容。我想要的是整个shebang,URL,标题,正文。是否有捷径可寻? 提前致谢。 问题答案: 不,servlet不提供要获取原始请求的api-
有什么方法可以获得它吗?因为我需要在应用程序内的对话框窗口中显示它。推送通知不仅仅是文本和标题,它对用户来说不仅仅是信息,它还会起到一定的作用。 在中接收通知标题、正文和有效负载: 正在从内部的附加程序捕获有效负载
我试图得到旋转的纹理“实际上是旋转的四边形”。我能够得到纹理图像: GL_TEXTURE_2D,GL_RGBA,GL_UNSIGNED_BYTE,pxData 我想用where是一个对象的数据创建一个矩阵来实现像素完美碰撞,这个矩阵将是一个使用shift的位矩阵,但是我会给我的图像添加旋转,所以我想知道是否有办法从opengl获得旋转的纹理矩阵。 如果我使用glGetTexImage(GL_纹理_
我试图用Jetpack Compose创建一个闪屏。我创建了我的导航,我有我所有的id去不同的屏幕,但我不能让一个屏幕导航到另一个Hadler内部。你们是怎么做到的?
我想知道是否有一种方法,使通知弹出状态栏上方,像传统的祝酒词消息,当第一次收到。默认情况下,当收到通知时,通知标签会显示在状态栏中,并暂时隐藏其他通知图标(如果有的话),直到通知标签显示完毕。然后,通知图标通常被添加到等待用户交互的图标的水平列表中。我想要最初的接收报价只是上升到状态栏之上,然后添加图标与其余的他们。
我正在使用Spring AOP实现自定义注释处理。我有下面的代码。 //应用程序配置 出于测试目的,我创建了下面的bean 无论何时启动应用程序,它都将调用TestCacheDemo类的test方法,并将定时器设置为在3秒后触发,这样我就可以从timer任务的run方法内部调用带注释的方法getCacheValue。但是当调用带注释的方法时,不会调用注释处理器。因此,我无法进行注释处理。请让我知道