小编max*_*der的帖子

DefaultMessageListenerContainer没有缩放

我有一个DefaultMessageListenerContainer,(在我看来)没有扩展.Container被定义为侦听队列,其中有100条消息.

我希望,Container可以达到任何长度,消息将尽可能快地消耗(通过观察maxConcurrentConsumers配置).所以我认为,有7个并发消费者.(在容器启动时由2个concurrentConsumers开始)一些日志记录信息:

activeConsumerCount: 5
concurrentConsumers: 2
scheduledConsumerCount: 5
idleConsumerLimit: 1
idleTaskExecLimit: 1
maxConcurrentConsumers: 7
Run Code Online (Sandbox Code Playgroud)

我的Spring-config(它的一部分):

<bean id="abstractMessageListenerContainer" class="my.package.structure.LoggingListenerContainer" abstract="true">
    <property name="connectionFactory" ref="jmscfCee" />
    <property name="maxConcurrentConsumers" value="7"/>
    <property name="receiveTimeout" value="100000" />
    <property name="concurrentConsumers" value="2" />
</bean>

<bean class="my.package.structure.LoggingListenerContainer" parent="abstractMessageListenerContainer">
    <property name="destinationName" value="MY.QUEUE" />
    <property name="messageListener" ref="myMessageListener" />
</bean>

<bean id="myMessageListener" class="my.package.structure.ListenerClass"></bean>
Run Code Online (Sandbox Code Playgroud)

我的记录容器

public class LoggingListenerContainer extends DefaultMessageListenerContainer{

private static final Logger logger = Logger
        .getLogger(LoggingListenerContainer.class);
@Override
protected void doInvokeListener(MessageListener listener, Message message)
        throws JMSException {

    logger.info("activeConsumerCount: " + this.getActiveConsumerCount());
    logger.info("concurrentConsumers: " …
Run Code Online (Sandbox Code Playgroud)

java spring scalability jms spring-jms

7
推荐指数
1
解决办法
5516
查看次数

Spring Batch:如何确定作业是否重新启动

有没有可能找到,如果在Spring Batch中重新启动作业?

如果重新启动作业,我们确实提供了一些没有从spring-batch重新启动支持的Tasklet,并且必须实现我们自己的程序.

在JobRepository,JobOperator,JobExplorer等中找不到任何可能性.

java restart spring-batch

1
推荐指数
1
解决办法
8186
查看次数

标签 统计

java ×2

jms ×1

restart ×1

scalability ×1

spring ×1

spring-batch ×1

spring-jms ×1