title: Spring DefaultJmsListenerContainerFactory dropping messages on JBoss EAP 7
body: <p>I have the following Spring JMS factory configuration:</p>
  
  <pre><code>@Bean(name = "jmsListenerFactory")
  public DefaultJmsListenerContainerFactory jmsListenerFactory() throws Exception {
      DefaultJmsListenerContainerFactory container = new DefaultJmsListenerContainerFactory();
      container.setErrorHandler(new MqErrorHandler());
      container.setConnectionFactory(connectionFactory);
      container.setTransactionManager(transactionManager);
      container.setConcurrency("5-10");
      return container;
  }   
  </code></pre>
  
  <p>Listener setup:</p>
  
  <pre><code>@JmsListener(destination = ACK_QUEUE, containerFactory = "jmsListenerFactory")
  @Transactional
  public void receive(String response) throws Exception {
      try {
          logger.debug(response);
          Msg ackNack = (Msg) unmarshaller.unmarshal(new StringReader(response));
          ... and so on
          ... should acknowledge JMS and commit DB update
  }
  </code></pre>
  
  <p>JTA Transaction Manager:</p>
  
  <pre><code>public JtaTransactionManager jbossTransactionManager() throws Exception {
      JtaTransactionManager transactionManager = new JtaTransactionManager();
      transactionManager.setTransactionManagerName("java:/TransactionManager");
      return transactionManager;
  }
  </code></pre>
  
  <p>I have an Oracle database and a JMS connection factory resource included via JNDI, both XA compatible. </p>
  
  <p>Problem is that some JMS messages are not making it to the listener. They are 100% provided to the queue but like they just "disappear". No logging or errors are reported in the logs even to TRACE level.</p>
  
  <p>Nothing else is listening to this queue and similar transactions are getting processed successfully from the same queue. I cannot reproduce it in any guaranteed way and it is completely intermittent.</p>
  
  <p>Any thoughts?</p>