如何配置Spring的@Async注释?

时间:2015-03-05 19:10:29

标签: java spring

我已经使用@Async注释了一个方法,希望它能以异步方式运行。但是,当我从线程打印出线程名称时,它仍然是'main',就像我在没有@Async注释的情况下运行它一样。它也会缓慢地返回(700ms),这让我觉得它根本不会异步运行。

bean使用@Component注释,正在使用@Autowired成功连接其依赖项。我正在用

创建bean
ApplicationContext context = new AnnotationConfigApplicationContext(MyClassConfig.class);
MyClass myClass = context.getBean(MyClass.class);

我有什么问题吗?

非常感谢。

编辑:添加更多代码

config类看起来像这样:

@Configuration
@ComponentScan
@EnableAsync
public class MyClassConfig {

    @Bean
    public MyClass myClass(){
        return new MyClass();
    }
}

异步方法是:

@Async
public void doSth(){
...
}

另一个想法是,它必须返回未来吗?我不关心结果 - 它正在评估它的副作用 - 但我还读到它应该返回一个未来?

调用doSth()的代码只是

doSth()

从类中的另一个方法调用。

0 个答案:

没有答案