[JBoss JIRA] Created: (JBESB-2106) JBR listener doesn't return error to a client
by Martin Vecera (JIRA)
JBR listener doesn't return error to a client
---------------------------------------------
Key: JBESB-2106
URL: https://jira.jboss.org/jira/browse/JBESB-2106
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rosetta
Affects Versions: 4.4
Reporter: Martin Vecera
When I'm using JBR listener in synchronous way, I'm not able to find out whether the message was successfully delivered.
JBossRemotingGatewayListener, method invoke(), line 345:
Object response = messageDeliveryAdapter.deliverSync(invocationRequest, 20000);
When an exception is thrown (e.g. SecurityServiceException), the client is never informed of this problem. As a response it simply gets null. I'd expect for the client to get the exception.
--
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, 11 months
[JBoss JIRA] Created: (JBESB-2606) ESB aware listeners have single thread popping messages from queue
by Aaron Pestel (JIRA)
ESB aware listeners have single thread popping messages from queue
------------------------------------------------------------------
Key: JBESB-2606
URL: https://jira.jboss.org/jira/browse/JBESB-2606
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Transports
Environment: SOA-P 4.3 CP01
Reporter: Aaron Pestel
Priority: Minor
When investigating a certain case where changing the number of threads configured for an ESB aware listener did not change throughput, the following was discovered:
-------------------------------------------------------------------------------
The class that services the ESB-aware queue is the MessageAwareListener. It uses a single thread to read messages from the queue, then uses a thread pool to allocate a thread to the processing of each message. The effect of this is:
1) No matter how fast and optimized the pipeline is, the rate at which messages can be processed is limited by the maximum retrieval rate of the queue.
2) If the pipeline is very fast the processing of the message finishes almost as quickly as the next message can be retrieved.
3) The overhead of the thread pool contributes to the significant overall overhead of the call.
4) This probably explains why topics are faster than queues, since they are typically less linear.
Since the pipeline processing finishes quickly there is rarely any need to use more than one thread from the pool, which explains why setting maxThreads to a higher number doesn't affect the outcome. ...
Note also that this class is used to retrieve messages from the InVM queue as well.
There are two solutions to this problem:
1) Allow the number of threads that retrieve messages from the queue to be configurable. If order is important than one thread should be used. If order is not important the number can be set to a much higher value allowing messages to be retrieved from the queue at a much higher rate. ... The thread pool for processing the message can still be used if message processing is very long.
2) Use a MessageListener. This lets the JMS implementation "give" messages to the processor rather than having the processor "retrieve" them. The performance of this method depends heavily on the quality of the underlying JMS implementation. If the implementation uses a single queue that retrieves messages from the queue, then passes the message to the listener, the performance will be the same as the current ESB design.
Or allow either method using configuration.
-------------------------------------------------------------------------------
--
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, 11 months
[JBoss JIRA] Created: (JBESB-1965) Poor Exception Message "doesn't define a Message-Aware Listener"
by Burr Sutter (JIRA)
Poor Exception Message "doesn't define a Message-Aware Listener"
----------------------------------------------------------------
Key: JBESB-1965
URL: https://jira.jboss.org/jira/browse/JBESB-1965
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 4.4
Reporter: Burr Sutter
Priority: Minor
This message should also indicate that an InVM listener can also be used by adding invmScope="GLOBAL" to the service declaration.
12:31:43,355 WARN [ServiceController] Problem starting service jboss.esb:deploy
ment=Quickstart_helloworld_http.esb
java.lang.RuntimeException: org.jboss.soa.esb.ConfigurationException: Service co
nfiguration for Service 'HelloWorld:HelloWorld_HTTP' doesn't define a Message-Aw
are Listener (i.e. is-gateway='false').
at org.jboss.soa.esb.listeners.config.Configuration.create(Configuration
.java:138)
at org.jboss.soa.esb.listeners.config.JBoss4ESBDeployment.startService(J
Boss4ESBDeployment.java:99)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
eanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
--
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, 11 months