Thank you Tim,

In the Receiver Setup code, note that the beforeStep() method is annotated
with @BeforeStep. I think this means that the receiver is being set up
twice, and probably with a prefetch optimization.  This is validated because
the log shows TWO subscriptions.  Not being a heavy JMS user, I was under
the mistaken impression that one was for the receiver but the other was for
the sender.

    @Override
    @BeforeStep
    public void beforeStep(StepExecution stepExecution) {
        this.stepExecution = stepExecution;
        this.setJobExecution(stepExecution.getJobExecution());

After removing the @BeforeStep annotation, the log shows only one
subscription

    DEBUG org.apache.activemq.broker.region.Queue - queue://Workorders via
SQL.408, subscriptions=1, memory=0%, size=1, pending=0 toPageIn: 0,
Inflight: 1, pagedInMessages.size 1, pagedInPendingDispatch.size 0,
enqueueCount: 1370, dequeueCount: 1369, memUsage:1024








--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-JMS-losing-messages-what-am-I-missing-tp4709127p4709200.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to