有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果目标类方法是同步的,java是否也同步了spring代理调用?

我使用的是spring事务,我的一个服务类方法需要同步,如下所示

package com.xyz.service;
class  XYZService{
  public  synchronized void methodA{
   }

  public  synchronized void methodB{
   }
}

我将spring TXN应用于我的服务类,如下所示

<aop:config>
        <aop:advisor id="serviceTx" advice-ref="txAdvice" pointcut="execution(* *..service.*Manager.*(..)) order="0"/>
    </aop:config>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*"/>
        </tx:attributes>
    </tx:advice>

<bean id="xyzManager" class="com.xyz.service.XYZService">
           </bean>

所以,当我在Springbean(xyzManager)上调用methodA或methodB时,它仍然是一个同步调用吗?请帮帮我


共 (1) 个答案

  1. # 1 楼答案

    答案很快就是“是”。 Spring创建“容器”,并且不触及方法的原始签名