我试图了解如何在使用Spring进行事务管理的Java应用程序中实现线程。我已经在Spring文档中找到TaskExecutor部分,并且ThreadPoolTaskExecutor看起来很适合我的需求。
ThreadPoolTaskExecutor
该实现只能在Java 5环境中使用,也是该环境中最常用的一种。它公开了用于配置java.util.concurrent.ThreadPoolExecutor的bean属性,并将其包装在TaskExecutor中。如果你需要诸如ScheduledThreadPoolExecutor之类的高级功能,建议你改用ConcurrentTaskExecutor。
但是我不知道如何去使用它。我一直在寻找好榜样,但是没有运气。如果有人可以帮助我,我将不胜感激。
很简单 这个想法是,你有一个Bean的executor对象,该对象被传递到想要触发新任务的任何对象中(在新线程中)。令人高兴的是,你只需更改Spring配置即可修改要使用的任务执行程序类型。在下面的示例中,我将使用一些示例类(ClassWithMethodToFire)并将其包装在Runnable对象中以执行操作;你实际上还可以在自己的类中实现Runnable,然后在execute方法中调用classWithMethodToFire.run()
。
这是一个非常简单的例子。
public class SomethingThatShouldHappenInAThread {
private TaskExecutor taskExecutor;
private ClassWithMethodToFire classWithMethodToFire;
public SomethingThatShouldHappenInAThread(TaskExecutor taskExecutor,
ClassWithMethodToFire classWithMethodToFire) {
this.taskExecutor = taskExecutor;
this.classWithMethodToFire = classWithMethodToFire;
}
public void fire(final SomeParameterClass parameter) {
taskExecutor.execute( new Runnable() {
public void run() {
classWithMethodToFire.doSomething( parameter );
}
});
}
}
And here are the Spring beans:
<bean name="somethingThatShouldHappenInAThread" class="package.name.SomethingThatShouldHappenInAThread">
<constructor-arg type="org.springframework.core.task.TaskExecutor" ref="taskExecutor" />
<constructor-arg type="package.name.ClassWithMethodToFire" ref="classWithMethodToFireBean"/>
</bean>
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="5" />
<property name="maxPoolSize" value="10" />
<property name="queueCapacity" value="25" />
</bean>
问题内容: 我试图了解如何在使用Spring进行事务管理的Java应用程序中实现线程。我已经在Spring文档中找到TaskExecutor部分,并且ThreadPoolTaskExecutor看起来很适合我的需求。 ThreadPoolTaskExecutor 该实现只能在Java 5环境中使用,也是该环境中最常用的一种。它公开了用于配置java.util.concurrent.Thre
我在Spring Boot应用程序中使用应该异步运行的方法之一做了一个类。因为我读的方法应该是注释,而且我还必须运行一个bean。但是在Spring手册中http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html我没有找到任何信息或示例,如何在没有XML配置的情况下使用注释运行。
我使用JPA和Hibernate进行持久化,并有Spring Boot的一些自动配置帮助。我正在运行一个JUnit测试,它在JPA Repository中保存了一些记录。然后它实例化一个新的Spring托管线程,并由ThreadPoolTaskExecutor运行。该线程将尝试获取先前添加的记录,但没有成功。 以下是测试和可运行线程的相关代码: 因此,在我插入了rtmpSourceSample对象
问题内容: 假设以下路由访问xml文件,以给定的xpath(?key =)替换特定标签的文本: 然后,我将使用cURL这样: xpath扩展应该访问标记以将其当前文本更改为“ John”。 我不知道如何实现这一目标,因为我才刚刚开始学习Flask和REST,在这种情况下我找不到很好的例子。另外,我想使用lxml来操纵xml文件,因为我已经知道了。 有人可以提供帮助并提供示例指导我吗? 问题答案:
本文向大家介绍带有babel的webpack.config.js的示例,包括了带有babel的webpack.config.js的示例的使用技巧和注意事项,需要的朋友参考一下 示例 依存关系 webpack.config.js