[JBoss JIRA] Created: (JBESB-2551) Configure TTL on MessageProducer sending replies on behalf of RequestResponse pipelines
by Ryan Hochstetler (JIRA)
Configure TTL on MessageProducer sending replies on behalf of RequestResponse pipelines
---------------------------------------------------------------------------------------
Key: JBESB-2551
URL: https://jira.jboss.org/jira/browse/JBESB-2551
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Transports
Affects Versions: 4.5
Reporter: Ryan Hochstetler
When an external client sends a message via the ServiceInvoker to a RequestReponse service that takes longer than the client-configured timeout to reply, the reply message is still sent to the service's reply queue, but gets stuck, forever, since the courier that delivered the message did not configure a TTL on the MessageProducer or set the TTL on the MessageProducer's send() method.
Add a property to jbossesb-properties.xml to hold the defined timout (zero for no TTL, if the original functionality is preferred.). Add hooks to the JmsCourier (and clients thereof) to set the TTL only on reply messages. The courier is unlikely to know which messages are replies, but the clients of the courier should know well enough.
This brings up an interesting point, now that I think of it. In the event that the queue receiving the original message from the ServiceInvoker is backed-up, the ServiceInvoker will time-out before the original message is even picked up and inserted into a processing pipeline. It seems to me that it would be better if the message would never be processed if the client has given up on waiting for the reply. This way, we eliminate unintended consequences or mysterious behavior, where we tell the user that the request was not serviced, but in fact, the user sees evidence to the contrary in the system. Perhaps the courier used by the ServiceInvoker should also set a TTL on the request mesage. This TTL should probably be equal to the timeout passed to the deliverSync() method. Of course, this would not be guaranteed behavior, as the message could be inserted into a pipeline just prior to the TTL, but the ServiceInvoker could still timeout. The real benefit here would be that hundreds of sync messages wouldn't queue up and then be unleashed after a previously unavailable resource comes back online an hour later.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] Created: (JBESB-2149) Error message from action pipeline does not serialize properly
by jarkko Lietolahti (JIRA)
Error message from action pipeline does not serialize properly
---------------------------------------------------------------
Key: JBESB-2149
URL: https://jira.jboss.org/jira/browse/JBESB-2149
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.4
Reporter: jarkko Lietolahti
org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation target exception from processor
at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:137)
at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:530)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.net.ConnectException: Connection refused
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at localhost.ttmi_ws.services.CustomerService.CustomerServiceSoapBindingStub.getCustomerAsOwnerContractHiearchy(CustomerServiceSoapBindingStub.java:702)
at fi.finnet.soa.esb.contractcheck.ttmi.ContractHierarchyCheckTTMiClient.getCustomerWrapper(ContractHierarchyCheckTTMiClient.java:144)
at fi.finnet.soa.esb.service.order.FindActiveContractsForCustomerTTMi.convertContracts(FindActiveContractsForCustomerTTMi.java:115)
at fi.finnet.soa.esb.service.order.FindActiveContractsForCustomerTTMi.processMessage(FindActiveContractsForCustomerTTMi.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
... 6 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
at java.net.Socket.connect(Socket.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
... 24 more
11:27:27,059 ERROR [ServiceInvoker] Unexpected throwable during attempted message delivery using Courier for EPR [JMSEpr [ PortReference < <wsa:Address jms://zone2-dev:1099/queue/customerContractSearchFESBEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <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 Service [order:customerContractSearchFESB] and Message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://zone2-dev:1099/queue/customerContractSearchFESBEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <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/> > ] ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://zone2-dev:1099/queue/customerContractSearchFESBEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='f95e73e6-5383-45cd-886d-caddd90c8618'/>, <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/> > ] ]].
org.jboss.internal.soa.esb.message.format.DeferredDeserialisationException: Error constructing object value
at org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalValueImpl.getValue(MarshalValueImpl.java:89)
at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.unwrap(BodyImpl.java:276)
at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.get(BodyImpl.java:96)
at org.jboss.internal.soa.esb.message.format.xml.FaultImpl.getCause(FaultImpl.java:66)
at org.jboss.soa.esb.listeners.message.errors.Factory.createExceptionFromFault(Factory.java:44)
at org.jboss.internal.soa.esb.couriers.helpers.JmsComposer.compose(JmsComposer.java:82)
at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:388)
at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:228)
at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:204)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:538)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:452)
at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:318)
at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:198)
at fi.finnet.soa.esb.service.order.ws.CustomerDataSearchFESBWS.customerContractSearchFESB(CustomerDataSearchFESBWS.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.wsf.container.jboss42.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:102)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:221)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:466)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:284)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:201)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:134)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
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:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
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:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:636)
Caused by: org.jboss.soa.esb.UnmarshalException: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -6756054858541526837, local class serialVersionUID = -9120448754896609940
at org.jboss.internal.soa.esb.message.format.xml.marshal.SerializedMarshalUnmarshalPlugin.unmarshal(SerializedMarshalUnmarshalPlugin.java:118)
at org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalValueImpl.getValue(MarshalValueImpl.java:85)
... 43 more
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -6756054858541526837, local class serialVersionUID = -9120448754896609940
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:579)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1600)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at org.jboss.internal.soa.esb.util.Encoding.decodeToObject(Encoding.java:77)
at org.jboss.internal.soa.esb.message.format.xml.marshal.SerializedMarshalUnmarshalPlugin.unmarshal(SerializedMarshalUnmarshalPlugin.java:110)
... 44 more
11:27:27,061 INFO [ServiceInvoker] Delivering message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://zone2-dev:1099/queue/customerContractSearchFESBEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <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/> > ] ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://zone2-dev:1099/queue/customerContractSearchFESBEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='f95e73e6-5383-45cd-886d-caddd90c8618'/>, <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/> > ] ]] to DLQ.
11:27:27,067 ERROR [CustomerDataSearchFESBWS] caught
org.jboss.soa.esb.listeners.message.MessageDeliverException: Caught unexpected throwable during send. Bailing-out!
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:573)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:452)
at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:318)
at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:198)
at fi.finnet.soa.esb.service.order.ws.CustomerDataSearchFESBWS.customerContractSearchFESB(CustomerDataSearchFESBWS.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.wsf.container.jboss42.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:102)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:221)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:466)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:284)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:201)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:134)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
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:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
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:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:636)
Caused by: org.jboss.internal.soa.esb.message.format.DeferredDeserialisationException: Error constructing object value
at org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalValueImpl.getValue(MarshalValueImpl.java:89)
at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.unwrap(BodyImpl.java:276)
at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.get(BodyImpl.java:96)
at org.jboss.internal.soa.esb.message.format.xml.FaultImpl.getCause(FaultImpl.java:66)
at org.jboss.soa.esb.listeners.message.errors.Factory.createExceptionFromFault(Factory.java:44)
at org.jboss.internal.soa.esb.couriers.helpers.JmsComposer.compose(JmsComposer.java:82)
at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:388)
at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:228)
at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:204)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:538)
... 34 more
Caused by: org.jboss.soa.esb.UnmarshalException: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -6756054858541526837, local class serialVersionUID = -9120448754896609940
at org.jboss.internal.soa.esb.message.format.xml.marshal.SerializedMarshalUnmarshalPlugin.unmarshal(SerializedMarshalUnmarshalPlugin.java:118)
at org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalValueImpl.getValue(MarshalValueImpl.java:85)
... 43 more
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -6756054858541526837, local class serialVersionUID = -9120448754896609940
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:579)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1600)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at org.jboss.internal.soa.esb.util.Encoding.decodeToObject(Encoding.java:77)
at org.jboss.internal.soa.esb.message.format.xml.marshal.SerializedMarshalUnmarshalPlugin.unmarshal(SerializedMarshalUnmarshalPlugin.java:110)
... 44 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 12 months
[JBoss JIRA] Created: (JBESB-2218) Exception "javax.jms.IllegalStateException: Cannot find session with id ..." during clustered/failover testing.
by Pavel Macik (JIRA)
Exception "javax.jms.IllegalStateException: Cannot find session with id ..." during clustered/failover testing.
----------------------------------------------------------------------------------------------------------------
Key: JBESB-2218
URL: https://jira.jboss.org/jira/browse/JBESB-2218
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Message Store
Affects Versions: 4.2.1 CP4
Environment: Linux 2.6.18-53.1.14.el5xen, x86_64, SOA-P 4.2.0 CP03 CR5, "production" based configuration, jdk1.5.0_12
Reporter: Pavel Macik
Performing cluster / failover test following this steps:
http://jboss-wiki.brq.redhat.com/Cluster/failover_tests .
I have to set the Clustered attribute of the org.jboss.messaging.core.jmx.MessagingPostOfficeService mbean to "true", if dbinstall tool doesn't.
When I remove Failover2(1).esb archive (according to the 15 (17) step) the following exceptions appears:
2008-12-04 15:32:32,491 ERROR [org.jboss.messaging.util.ExceptionUtil] ConnectionEndpoint[vb4-md4bibof-1-0uf7ibof-qr6sza-a4wya] sendTransaction [sb9-vfvbibof-1-0uf7ibof-qr6sza-a4wya]
javax.jms.IllegalStateException: Cannot find session with id ad4-sd4bibof-1-0uf7ibof-qr6sza-a4wya
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:835)
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:489)
...
2008-12-04 15:32:32,498 ERROR [org.jboss.jms.client.container.ClosedInterceptor] ClosedInterceptor.ClientSessionDelegate[ad4-sd4bibof-1-0uf7ibof-qr6sza-a4wya]: method redeliver() did not go through, the interceptor is CLOSED
2008-12-04 15:32:32,499 ERROR [org.jboss.resource.adapter.jms.inflow.JmsServerSession] Failed to commit session transaction
javax.jms.IllegalStateException: The object is closed
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:157)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBESB-2805) Splitter EAI Pattern: A router that really split the message and delivery the message parts to different message channels
by Ricardo Ferreira (JIRA)
Splitter EAI Pattern: A router that really split the message and delivery the message parts to different message channels
-------------------------------------------------------------------------------------------------------------------------
Key: JBESB-2805
URL: https://jira.jboss.org/jira/browse/JBESB-2805
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Content Based Routing
Affects Versions: 4.6, 4.5, 4.4
Reporter: Ricardo Ferreira
Current JBoss ESB Routers (StaticRouter and StaticWiretap) does not implement fully the EAI Patterns Splitter (http://www.eaipatterns.com/Sequencer.html). Those implementations just take the incoming message and redelivery for diferent services using basic routing. But in the pattern description we found:
"Use a Splitter to BREAK OUT the composite message into a series of INDIVIDUAL MESSAGES, each containing data related to one item"
The proposal is to implement a generic Splitter (org.jboss.soa.esb.actions.Splitter) that takes a message, and, using Smooks, separate the message onto diferent messages (individual messages) and send those individual messages to others message channels. Here's a example of this action:
<action name="splitter" class="org.jboss.soa.esb.actions.Splitter">
<property name="destinations">
<route-to
service-category="Enterprise Business Services"
service-name="FirstService">
<message-splitter
smooksConfig="/META-INF/smooks-res-1.xml"
resultType="STRING" />
</route-to>
<route-to
service-category="Enterprise Business Services"
service-name="SecondService">
<message-splitter
smooksConfig="/META-INF/smooks-res-2.xml"
resultType="JAVA" />
</route-to>
</property>
</action>
I've implemented this action and it is fully working in the following enviroment:
OS: Red Hat Enterprise Linux 5
JVM: Sun JDK 1.5-16
JBoss ESB 4.5
I would like that this feature would be available in the JBoss ESB and the SOA Platform product, since, I've customers that asked me for this kind of feature.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (JBESB-880) The ESB is blocked under heavy load when using JMS
by Jiri Pechanec (JIRA)
The ESB is blocked under heavy load when using JMS
--------------------------------------------------
Key: JBESB-880
URL: http://jira.jboss.com/jira/browse/JBESB-880
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rosetta, Transports
Affects Versions: 4.2 Milestone Release 3
Environment: RHEL 5, PostgreSQL
Reporter: Jiri Pechanec
Assigned To: Mark Little
Priority: Blocker
When the ESB is forced to process a huge batch of messages then it blocks completely.
The ESB configuration was just one service with one listener and gateway. Both gateway and listener are using JMS. The testing was executed twice using one and then four threads per listener and gateway.
The service contains two actions that serves only for message counting.
If you try to send 10000 messages sized around 20 KB it will probaly block after few minutes of processing. The ESB do not respond to TERM signal and even JMX console is not available. The only solution is to kill process violently. With the smaller messages the block does not happend or happends after bigger amount of messages.
The sender is generating following log messages
[Timer-1][BisocketServerInvoker] org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask@201d592a: detected failure on control connection Thread[control: Socket[addr=/10.34.34.47,port=2660,localport=51957],5,main]: requesting new control connection
We can not exclude problem in JBoss Messaging itself but when we tried to use plain JMS without ESB we were able to send/receive 300000 messages without any problem.
Moreover the more messages were processed the longer time it takes for the next batch to be processed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (JBESB-1900) Current system date in sql-provider where-condition
by Raghavan TV (JIRA)
Current system date in sql-provider where-condition
---------------------------------------------------
Key: JBESB-1900
URL: https://jira.jboss.org/jira/browse/JBESB-1900
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Environment: JBoss ESB 4.3GA + JBoss 4.2.2 or JBOss 4.0.0 + Oracle 10g + Windows Xp or HP-UX 11.0
Reporter: Raghavan TV
I have a simple table where I store my Orders.
e.g.
DB - Oracle 10g
Table
ORDER_QUEUE
----------------------------------------
ORDER_ID NUMBER(5)
FIELD1 VARCHAR2(10)
FIELD2 VARCHAR2(10)
ORDER_DATE DATE
ESB_STATUS VARCHAR2(1)
TIMESTAMP_COL DATE
-----------------------------------------
My requirement is to process only those records where ORDER_DATE = Current System Date that hosts my AppServer
Am trying to work with the sample provided. I updated the where condition as follows and it works fine.
<sql-bus busid="helloSQLChannel" >
<sql-message-filter
tablename="ORDER_QUEUE"
status-column="ESB_STATUS"
where-condition="TO_DATE(ORDER_DATE,'DD-MON-YYYY') = (SELECT TO_DATE(SYSDATE,'DD-MON-YYYY') FROM DUAL)"
message-column="message"
message-id-column="ORDER_ID"
insert-timestamp-column="TIMESTAMP_COL"
/>
</sql-bus>
[where-condition="TO_CHAR(ORDER_DATE,'DD-MON-YYYY') = (SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY') FROM DUAL)"]
But the query is more specific to a Oracle DB. If I decide to change the provider in the future, then this filter will fail!
Also if the DB and AppServer are in different TZ, we have a problem
Is there some other workaround to use the AppServer Date in the where-condition ?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months