- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 REST
网络服务,想记录所有传入和传出的 XML
请求。由于它们可能非常大,而且我还必须应用某种转换,所以我想在异步线程中执行它。
到目前为止,我只是在记录器方法上使用了 @Async
注释。这将使用默认的 SimpleAsyncTaskExecutor
,它“不重用任何线程”: https://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/htmlsingle/#scheduling-task-executor-types
问题:我是否应该更好地定义自己的 ThreadPoolTaskExecutor
而不是依赖默认的简单执行器?为短期日志记录任务设置一个“重用线程”执行程序是否明智?
进一步考虑:我还将进行一些异步数据库行更新,这些更新也应该使用 @Async
执行,并且可能使用相同的执行程序。
我的主要问题是:我不想考虑线程的固定池大小、容量、节流限制等。我只想告诉我的例程:“在异步线程中执行以下逻辑。”只需在上面堆放任何东西即可。
我必须使用哪个 TaskExecutors
,应该应用哪个配置?
例如下面的执行器是否合适?
@Bean
public ThreadPoolTaskExecutor asyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(4);
return executor;
}
最佳答案
should I better define my own ThreadPoolTaskExecutor rather than relying on the default simple executor?
使用默认的 ThreadPoolTaskExecutor
除非你需要自定义它。
Would it be wise to have a "reusing threads" executor for the short-lived logging tasks?
是的。
I don't want to think about a fixed pool size of threads, capacity, throttle limits etc. I just want to tell my routine: "Execute the following logic in an async thread." And just stack anything on it.
Which of the TaskExecutors would I have to use for it, and which configuration should be applied?
ThreadPoolTaskExecutor足够好了。在示例代码中将池大小设置为 Runtime.getRuntime().availableProcessors()
。
关于java - 哪个 TaskExecutor 用于异步日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46706964/
我正在考虑使用 Java 的 TaskExecutor 来触发异步数据库写入。线程不是免费提供的,这是可以理解的,但假设我使用的是 5-10 大小的固定线程池,这怎么可能是个坏主意? 我们的应用程序使
我正在开发的应用程序接收来自外部系统的通知,我希望按顺序处理这些通知,因为我遇到了一些死锁。 我使用 Spring 的 TaskExecutor,它相当于 JDK 1.5 的 Executor。 我通
我有一个 REST 网络服务,想记录所有传入和传出的 XML 请求。由于它们可能非常大,而且我还必须应用某种转换,所以我想在异步线程中执行它。 到目前为止,我只是在记录器方法上使用了 @Async 注
在 Spring 中有没有一种方法(使用 TaskExecutor )并行执行多个任务,然后等待(障碍)直到所有任务完成? 我在这里找到了一个例子http://www.mkyong.com/sprin
让我们考虑一下我有以下几点: public class MyRunnable implements Runnable { public void run() { //do so
我已经使用了 Spring 和 futures 中的 TaskExecutor 从任务中获取 future ,但是现在,当某些任务在一段时间内没有响应时,我必须停止这些任务。我尝试过使用 Future
遵循我使用 Spring 3 TaskExecutor 进行异步邮件发送的代码。代码工作正常,我只是想知道是否有任何邮件因任何原因未能发送,那么必须将其再次添加到队列中并重试发送。 我已在 Googl
我有一个 Web 服务 DocGenerationServiceImpl,它使用 DocRepository 和将记录表示为 DocFileDO 的对象在表中插入(对于每种格式)记录。在 for 循环
我在 DefaultMessageListenerContainer 内使用 SimpleAsyncTaskExecutor,并且我想使用 JMX mbean 监视 Activity 线程计数。我创建
我正在编写一个同时(并行)执行多个线程的程序,我正在使用 TaskExecutor 。 @Autowired TaskExecutor threadPoolTaskExecutor; @Test pu
我是 Apache Flink 的新手,所以我目前正在尝试做一些实验。我正在阅读 Kafka 的主题,然后在控制台上打印出来。在打印大约 100k+ kafka 消息后,它抛出异常。日志输出如下。 我
我如何使用 spring TaskExecutor 来生成任务,这样就不会抛出内存不足异常。 当前任务池配置: 并且我通过使用加载 bean 在我的请求处理程序中使用
我希望 spring 从 TaskExecutionAutoConfiguration 加载默认的 ThreadPoolTaskExecutor。虽然我想为一些明确的副任务提供可能拥有的额外执行程
我已经用任务执行器设置了文件轮询器 ExecutorService executorService = Executors.newFixedThreadPool(10); LO
你怎么会有一个实现Runnable并自动提交给springsTaskExecutor的类? 例如,我有一个任务: public class MyTask implements Runnable {
我在 Spring Boot 应用程序中做了一个 @Service 类,其中一种方法应该异步运行。当我读到方法应该是 @Async 注释并且我必须运行一个 TaskExecutor bean。但在 S
设置:Apache Tomcat 8 Web服务器/Java Spring框架/MVC 背景:我有多台服务器连接了一个负载均衡器。每次负载平衡器将请求转发到Web服务器时,服务器会将请求推送到远程队列
我可以在 Spring Batch 中将 FlatfileItemReader 与 Taskexecutor 一起使用吗? 我已经使用 ThreadPoolTaskExecutor 实现了 Fla
我有这样的 java spring boot 配置: @Bean public SubscribableChannel channel(MessageHandler handler) { Pub
我正在寻找一种方法,让 spring bean 将自己注册到作业处理器 bean,作业处理器 bean 将按计划执行已注册的 bean。 我希望 bean 只需要实现一个接口(interface),并
我是一名优秀的程序员,十分优秀!