0 Replies Latest reply on Aug 11, 2010 8:52 AM by davesiracusa

    How do I protect against JMS message loss during shutdown/startup of SOA-P 5.0

    davesiracusa
      I enqueue 1000 messages into a service which calls a second oneway service, and finally a third one service. 
      If left alone the messages work their way though the system just fine in minutes.
      If I stop SOA-P via shutdown and restart it I experience message loss. Sometime 3-4, sometimes more.


      I'm using oracle for a backend, all queues are transacted, and have tried both jms providers.
      I see from the traces as each service is terminated, they become unavailable which means DLQ.
      I suspect if I stop the listeners through twiddle and then shutdown I'd be okay.
      This seems like a hastle, I prefer to it automatically protect against message loss.



      How do I protect against loss? If I use jms-jca-provider: 2010-08-10 23:46:21,353 519266 INFO [org.jboss.soa.esb.client.ServiceInvoker]
      (WorkManager(2)-73:) Unresponsive EPR:
      JMSEpr [ PortReference < <wsa:Address jms:127.0.0.1:1099#queue/DeadMessageQueue/>,
      <wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
      org.jnp.interfaces.NamingContextFactory/>,
      <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>,
      <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>,
      <wsa:ReferenceProperties jbossesb:destination-type : queue/>,
      <wsa:ReferenceProperties jbossesb:destination-name : queue/DeadMessageQueue/>,
      <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
      <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
      <wsa:ReferenceProperties jbossesb:persistent : true/>,
      <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>,
      <wsa:ReferenceProperties jbossesb:transacted : false/>,
      <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]
      for message: header: [ To: JMSEpr [ PortReference < <wsa:Address jms:127.0.0.1:1099#queue/eNullWork_esb/>,
      <wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
      org.jnp.interfaces.NamingContextFactory/>,
      <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>,
      <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>,
      <wsa:ReferenceProperties jbossesb:destination-type : queue/>,
      <wsa:ReferenceProperties jbossesb:destination-name : queue/eNullWork_esb/>,
      <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
      <wsa:ReferenceProperties jbossesb:connection-factory : XAConnectionFactory/>,
      <wsa:ReferenceProperties jbossesb:persistent : true/>,
      <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>,
      <wsa:ReferenceProperties jbossesb:transacted : true/>,
      <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]
      MessageID: 6a694265-74a8-4516-aa95-f10a53d3abb5
      RelatesTo: jms:correlationID#6a694265-74a8-4516-aa95-f10a53d3abb5 ] 2010-08-10 23:46:21,376 519289 ERROR [org.jboss.soa.esb.client.MessageMulticaster]
      (WorkManager(2)-73:) Failed to deliver message to Service 'Business Profile Services:SendResponse Service'.
      Delivering message to Dead Letter Channel. If I use jms-provider: 2010-08-10 23:03:35,291 442518 ERROR [org.jboss.soa.esb.client.MessageMulticaster]
      (pool-33-thread-5:) Failed to deliver message to
      Service 'Business Profile Services:SendResponse Service'. Delivering message to Dead Letter Channel.