关于weblogic中webapp组件的工作经理

时间:2011-09-04 19:35:31

标签: weblogic

我们有一个spring批量组件,作为部署在weblogic上的ear应用程序的一个组件实现。我们希望在弹簧批处理组件上实现最大线程约束,而不是在整个Web应用程序上实现。所以我们考虑通过工作经理来实施。在实施之前,我有以下疑问:




1. i can create a global work manager of maximum thread constraint in weblogic console
2. Refer it in spring batch component.

我怀疑的是,如果我实施上述方法,它是否会影响部署在weblogic上的所有应用程序,或者只有在应用程序引用工作管理器时才会影响应用程序。

我也知道,我可以通过webapp的weblogic.xml创建这个工作管理器,这样做可能会影响整个webapp,因为我只需要webapp组件的最大线程约束。

请建议

1 个答案:

答案 0 :(得分:0)

您可以通过在JobLauncher上设置相应的TaskExecutor来控制可用于Spring批处理作业的线程。例如:

<bean id="jobTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value ="5" />
    <property name="maxPoolSize" value ="10" />
    <property name="allowCoreThreadTimeOut" value="true" />
    <property name="threadNamePrefix" value="batch-job-thread-" />
</bean>

<bean id="jobLauncher"
    class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
    <property name="jobRepository" ref="jobRepository" />
    <property name="taskExecutor" ref="jobTaskExecutor" />
</bean>

以上示例适用于Spring批处理2.1.8。