问题标签 [aspect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring @Transactional 在将方面放在方法之后不会回滚
我有两种交易方法,一种是另一种。当围绕方面没有设置方法时,事务注释工作得很好。调用methodA之后我们调用methodB,methodB在DB中写入一些东西,然后我们在methodA中返回,抛出异常,然后methodB回滚。但是当我把我的方面放在方法A上时,方法B不会回滚。我无法弄清楚那里发生了什么。我尝试了许多传播属性的组合,但似乎都没有。提前致谢。我使用 Spring 2.5.4
我在 applicationContext.xml 中有这个配置:
我的 LoggingAspect 类是这样的:
方法A是这样的:
方法B是这样的:
java - 将参数传递给来自xml的不同切入点的相同方面方法
是否可以对多个切入点使用相同的方面方法但使用 xml 给出的不同参数?像这样的东西(1和2是参数):
当我调用 methodA 时,我希望 logProcess 方法输出 1,当我调用 methodC 时,我希望 logProcess 方法输出 2
我的 logProcess 方法:
java - 将石英调度程序连接在方面包装后不关闭
我的方面流程有问题。我已经安排了我在方面包裹的石英工作女巫。当我在没有方面的情况下这样做时,我没有问题,但是当我在进程执行多次后将其包装在方面时,应用程序在尝试连接到数据库时似乎处于挂起状态。日志显示由于 ConnectionWaitTimeoutExceptions 导致的几个 J2CA0045E 错误,以及涉及从池中获取空闲连接的问题的其他错误。当我寻找我的免费连接时,没有可用的连接。似乎我的方面没有关闭连接。我不明白为什么会发生这种情况,因为当我不使用方面时,一切都运行良好并且连接已关闭。
我在 applicationContext.xml 中的方面配置是这样的:
我的 loggingAspect 类是这样的:
有谁知道可能是什么问题?提前致谢!
java - Spring AOP 可重入方面
是否可以使用 Spring AOP(或 AspectJ)创建可重入方面?
这是一个例子:
和方面:
}
现在我想知道 calcFibonacci 被调用了多少次(计算在经常调用中)。
有没有办法做到这一点?
java - 在java osgi中拦截方法调用
我目前正在为基于 OSGi (java) 的平台开发备份和恢复机制,并希望执行以下操作
BUNDLE A - 一些包装:
我希望能够向此方法添加类似注释的内容,如下所示:
这样我就可以在另一个包中收集类 + 方法信息以及变量数据本身,以便我可以备份该数据,“方法调用 blabla 包中的类 blabla 并带有参数.. .. ..”。
这在 OSGi 中可能吗?我已经阅读了 AspectJ,但我发现的大多数信息似乎都过时了。或者我可以向目标平台添加一个实现吗?
spring - Spring AOP:为日志传递参数
我们正在使用 aorg.springframework.beans.factory.BeanFactoryAware
来运行一系列命令。系统的所有服务都使用一项服务来进行审计日志记录。此审计日志服务需要一个唯一标识符,该标识符在我们的BeanFactoryAware
.
现在,这个唯一标识符正在每个函数调用中传递。一种选择是使用某种类型的上下文对象来传递。最好不要这样做,因为这会使系统中不了解系统的其他部分无法使用这些服务BeanFactoryAware
。
是否有一些 AOP 方法可以实现更清洁的解决方案?一种审计日志可以获取唯一标识符,而BeanFactoryAware
审计代码和审计代码之间的所有代码都不知道该值?
根据请求,这里有一些代码:
ChainRunner 将 msgLinkId 添加到链的上下文中。每条消息都会将 msgLinkId 从上下文中拉出,并将其作为整数参数传递给服务,例如 AServer.aMethod。最后,服务需要在 LoggerService 上记录活动,向其传递有关正在记录的内容的参数,其中第一个参数是 msgLinkId。
就目前而言,所有服务都通过 XML 配置进行连接:
那么问题来了:是否可以通过AOP让msgLinkId下跳到LoggingService,而不必经过很多层的服务呢?
spring - 弹簧方面切入点定义
在 Spring 中,我们可以共享常见的切入点定义,如下所示
以上可以像下面一样使用
是否可以将关节点传递给共享点切割定义。
如下所示,myCustomCheck 是另一个共享切入点定义,它根据传递给它的关节点检查某些内容。
这可行吗?
谢谢
生活。
.net - 带有构建子文件夹的解决方案的 Postsharp 方面
我们有以下构建输出结构:
如果我们在根目录 ( ) 中的项目上使用方面(取决于NLog
和),它会很好地工作。Json.Net
[assembly: OurAspect]
如果我们尝试在子文件夹中编译的项目中使用此方面,则会出现异常,即无法找到该方面所依赖的 DLL。
我们如何配置 PostSharp 以使用根构建目录中的 DLL 来编译子文件夹中的项目?
java - @Around Aspect 在 @transaction 注解 Spring 之前执行
我有一个带有事务注释的类:
我有一个方面类:
在将数据保存在数据库中之前,我的@Around
注释正在执行。addUser
请建议我@Around
将数据保存到数据库后如何执行。
java - @RequestMapping MethodInterceptor 方面忽略@Validated 注解
MethodInterceptor
我对方面和@Validated
注释有一个奇怪的问题。当我添加方法拦截器来拦截所有用 注释的方法时@RequestMapping
,@Validated
注释不起作用。当我删除它时,它又可以正常工作了。我认为,我的拦截器会覆盖@Validated
. 有什么办法可以做到这一点,因为我不想在我的拦截器中执行验证,因为它是为了审计东西。
这是验证器:
控制器代码:
拦截器代码:
我的环境是带有休息控制器(杰克逊映射器)的 Spring MVC(3.2)。