当前位置: 首页 > 面试题库 >

春季引导。如何创建带注释的TaskExecutor?

翟俊茂
2023-03-14
问题内容

@Service在Spring
Boot应用程序中使用一种应该异步运行的方法来做一个类。当我阅读方法时,应该@Async加上注释,而且我还必须运行一个TaskExecutorbean。但是在Spring手册http://docs.spring.io/spring/docs/current/spring-
framework-
reference/html/scheduling.html中,
我找不到任何信息或示例如何在TaskExecutor没有XML配置的情况下使用注释运行。是否可以TaskExecutor在不带XML且仅带有注释的Spring
Boot中创建bean?这是我的服务班级:

@Service
public class CatalogPageServiceImpl implements CatalogPageService {

    @Override
    public void processPagesList(List<CatalogPage> catalogPageList) {
        for (CatalogPage catalogPage:catalogPageList){
            processPage(catalogPage);
        }
    }

    @Override
    @Async("locationPageExecutor")
    public void processPage(CatalogPage catalogPage) {
        System.out.println("print from Async method "+catalogPage.getUrl());
    }
}

问题答案:

@Bean在您的Spring Boot应用程序类中添加一个方法:

@SpringBootApplication
@EnableAsync
public class MySpringBootApp {

    @Bean
    public TaskExecutor taskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(5);
        executor.setMaxPoolSize(10);
        executor.setQueueCapacity(25);
        return executor;
    }

    public static void main(String[] args) {
        // ...
    }
}

有关如何使用Java
config而不是XML来配置Spring的信息,请参阅Spring
Framework参考文档中的基于Java的容器配置。

(注意:您不需要添加@Configuration到该类中,因为@SpringBootApplication已经包含了@Configuration)。



 类似资料:
  • 问题内容: 我有一个非常简单的抽象类 现在您可以看到,我正在尝试自动连接DatabaseModel。但是在我的扩展类中,我只为dbModel接收null。 问题:我在这里尝试一些不可能的事情吗? 问题答案: 您的设置似乎很好。原因也许在其他地方。也许您正在使用实例化该类,而不是让spring这样做。

  • 我在Spring Boot应用程序中使用应该异步运行的方法之一做了一个类。因为我读的方法应该是注释,而且我还必须运行一个bean。但是在Spring手册中http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html我没有找到任何信息或示例,如何在没有XML配置的情况下使用注释运行。

  • 问题内容: 使用Spring 3,我想使用 ExceptionHandler 注释创建一个异常处理程序,该 异常 处理程序将处理 “找不到页面(404)” 请求。我正在使用以下代码来执行此操作。但是,当我指向一个不存在的URL时,将调用Spring定义的默认异常处理程序。 可能是我正在处理 NoSuchRequestHandlingMethodException 异常。如果是,那我应该注册什么例外

  • 问题内容: 我正在建立一个新的JPA + Spring项目。(对于我来说,作为程序员)之间的区别是什么? 和 在我的applicationContext.xml中? 问题答案: 代理和字节码编织方面之间存在巨大差异。代理只能在调用来自“外层空间”的情况下进行拦截,而不能在调用来自对象本身的情况下进行拦截(this.transactionalMethod()) 这意味着,如果您有一个带有两个方法T和

  • 问题内容: 我正在尝试做一些Java注释魔术。我必须说,我仍在追赶注释技巧,并且某些事情对我来说还不太清楚。 所以…我有一些带注释的类,方法和字段。我有一个方法,它使用反射对类进行一些检查并将一些值注入到类中。这一切都很好。 但是,我现在面临的情况是我需要一个注释实例(可以这么说)。所以…批注与常规接口不同,您不能对类进行匿名实现。我知道了。我在这里浏览了有关类似问题的一些帖子,但似乎无法找到所需

  • 问题内容: 是否存在列注释语法,该语法允许我直接在创建表语句(即,内联)中声明列的位置指定列注释?该11克规范没有提到任何东西,在另一页中提到的东西,但我无法得到它的工作。创建表后有一种指定注释的方法,但是我认为将注释与字段定义分开很烦人。我正在寻找这样的东西(不起作用): 问题答案: 恐怕“烦人”的语法是这样做的唯一方法。SQL Server,PostgreSQL和DB2使用相同的语法(尽管据我