Problem with break pipeline
claudio_br Oct 2, 2007 10:15 AMI have a data import system using esb. The client is single thread. The client locates the service in esb using the following class:
package com.buscape.locator; import org.apache.log4j.Logger; import org.jboss.soa.esb.client.ServiceInvoker; public class LocatorCepEsb extends LocatorEsb{ private static ServiceInvoker service = localizaEsb(); private static ServiceInvoker localizaEsb(){ try{ ServiceInvoker myservice = new ServiceInvoker("Cep", "Cep"); Logger.getLogger(LocatorCepEsb.class).info("Localizou Esb Categoria: Cep, Serviço: Cep"); return myservice; }catch (Exception e){ Logger.getLogger(LocatorCepEsb.class).warn(e.toString(),e); return null; } } public static ServiceInvoker getService(){ return service; } }
The esb service is static (cache). I get the service calling LocatorCepEsb.getService()
When occurs the first exception in esb´s action I get this exception:
2007-10-01 23:59:17,881 WARN [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] Unexpected exception caught while processing the action pipeline org.jboss.soa.esb.actions.ActionProcessingFaultException: com.buscape.generico.BusinessException: cep:Cep com número já existente at com.buscape.esb.CepEsb.executar(CepEsb.java:104) at sun.reflect.GeneratedMethodAccessor401.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102) at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74) at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:265) at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:297) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) 2007-10-01 23:59:22,817 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/cep_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > 2007-10-01 23:59:22,853 WARN [org.jboss.soa.esb.client.ServiceInvoker] Unexpected exception during attempted message delivery over Courier for EPR [EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >] for Service [JBossESB-Internal:DeadLetterService]. java.lang.NullPointerException 2007-10-01 23:59:22,854 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > 2007-10-01 23:59:22,854 WARN [com.buscape.webservice.CepWS] org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors. org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors. at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:262) at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:185) at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:219) at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:165) at com.buscape.webservice.CepWS.enviarEsb(CepWS.java:55) at com.buscape.webservice.CepWS.addCep(CepWS.java:198) at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.wsf.spi.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:74) at org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler.invoke(ServiceLifecycleInvocationHandler.java:59) at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:206) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:396) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:260) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:177) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:110) at org.jboss.wsf.spi.invocation.EndpointServlet.service(EndpointServlet.java:72) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)
After this first exception, always I get this exception below, even don´t get exception in esb´s action:
2007-10-01 23:59:27,913 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/cep_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > 2007-10-01 23:59:27,938 WARN [org.jboss.soa.esb.client.ServiceInvoker] Unexpected exception during attempted message delivery over Courier for EPR [EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >] for Service [JBossESB-Internal:DeadLetterService]. java.lang.NullPointerException 2007-10-01 23:59:27,938 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > 2007-10-01 23:59:27,939 WARN [com.buscape.webservice.CepWS] org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors. org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors. at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:262) at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:185) at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:219) at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:165) at com.buscape.webservice.CepWS.enviarEsb(CepWS.java:55) at com.buscape.webservice.CepWS.addCep(CepWS.java:198) at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.wsf.spi.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:74) at org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler.invoke(ServiceLifecycleInvocationHandler.java:59) at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:206) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:396) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:260) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:177) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:110) at org.jboss.wsf.spi.invocation.EndpointServlet.service(EndpointServlet.java:72) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)
My esb´s action
public Message executar(Message message) throws Exception{ try { // Business Code . . . return message; } catch (Exception ex){ logger.warn(ex.toString(),ex); ErrosValidacao erros = ExceptionUtilEsb.processException(ex); message.getBody().add("ErrosValidacao",erros); throw new ActionProcessingFaultException(message,ex.toString()); } }
I am using JbossAS 4.2.1.GA, JbossMessaging 1.3.0.GA, JbossWS 2.0.0.GA and JbossEsb 4.2.GA
What am I doing wrong?
Thanks