You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Eernie <er...@finan.nl> on 2014/10/07 14:43:07 UTC
CXF 3.0.1 doesn't have concurrentConsumers
Hi,
I'm currently migrating my code from cxf 2.6.1 to 3.0.1.
I'm having some problems with the jms protocol. We're currently using the
maxConcurrentConsumers from the jmsConfiguration. I see this property has
been removed. Can someone tell me how I should configure this now?
The Documentation isn't explaining how this should be configured. Atleast, I
didn't find it.
I did find a StackOverflow post, but now comments were post on that.
See:
http://stackoverflow.com/questions/24785219/apache-cxf-jms-3-0-and-spring-configuration#comment41150668_24785219
Thanks in advance,
Erwin Oldenkamp
--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-3-0-1-doesn-t-have-concurrentConsumers-tp5749534.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: CXF 3.0.1 doesn't have concurrentConsumers
Posted by Eernie <er...@finan.nl>.
- Which provider do you use?
I use the Sonic provider.
- Did your jms performance with default settings decrease after the switch?
I haven't had it running yet because of the missing parameters.
I'll make it running and test the performance.
--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-3-0-1-doesn-t-have-concurrentConsumers-tp5749534p5749538.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: CXF 3.0.1 doesn't have concurrentConsumers
Posted by Christian Schneider <ch...@die-schneider.net>.
I just did some tests with a service that contains a sleep to simulate
long response times.
I was able to reproduce problems with scalability for this scenario. So
I opened issue https://issues.apache.org/jira/browse/CXF-6199 to track this.
What do you think about the two options to solve this?
Christian
On 15.01.2015 23:22, jamo wrote:
>
> Concurrent and maxConsumers is a requirement for scalable services. Keep in
> mind, throughput is impacted as much (or more) by service execution time as
> by CXF framework overhead. If service execution takes 500 ms, and the
> request arrival rate is 10 requests per second, requests will queue up, and
> response time will elongate. We cannot go into production with CXF JMS
> without a mechanism for configuring concurrency.
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/CXF-3-0-1-doesn-t-have-concurrentConsumers-tp5749534p5753084.html
> Sent from the cxf-user mailing list archive at Nabble.com.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
Re: CXF 3.0.1 doesn't have concurrentConsumers
Posted by jamo <ja...@hotmail.com>.
cschneider wrote
> The 3.x implementation does not use spring anymore. So we do not have
> the spring implementations of MessageListenerContainer that worked with
> separate consumers and polling.
>
> If you look at
> org.apache.cxf.transport.jms.JMSDestination.createTargetDestinationListener()
> you see how the MessageListenerContainer we use now is created.
> If there is a transaction manager then we use the
> PollingMessageListenerContainer which uses one thread. If there is no
> transaction manager then we use a MessageListenerContainer based on a
> MessageListener.
>
> In my performance tests
> (http://liquid-reality.de/display/liquid/2014/03/28/Revisiting+JMS+performance.+Improvements+in+CXF+3.0.0)
> this worked at least as fast as the spring variant with several consumers.
> I only tested with ActiveMQ though so if you use a different provider
> you may see a different performance.
>
> So as a short answer you currently can not set the consumer threads. We
> could add this if there is need but currently I did not find a good
> reason. So I stayed with the simplest solution.
Concurrent and maxConsumers is a requirement for scalable services. Keep in
mind, throughput is impacted as much (or more) by service execution time as
by CXF framework overhead. If service execution takes 500 ms, and the
request arrival rate is 10 requests per second, requests will queue up, and
response time will elongate. We cannot go into production with CXF JMS
without a mechanism for configuring concurrency.
--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-3-0-1-doesn-t-have-concurrentConsumers-tp5749534p5753084.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: CXF 3.0.1 doesn't have concurrentConsumers
Posted by Christian Schneider <ch...@die-schneider.net>.
The 3.x implementation does not use spring anymore. So we do not have
the spring implementations of MessageListenerContainer that worked with
separate consumers and polling.
If you look at
org.apache.cxf.transport.jms.JMSDestination.createTargetDestinationListener()
you see how the MessageListenerContainer we use now is created.
If there is a transaction manager then we use the
PollingMessageListenerContainer which uses one thread. If there is no
transaction manager then we use a MessageListenerContainer based on a
MessageListener.
In my performance tests
(http://liquid-reality.de/display/liquid/2014/03/28/Revisiting+JMS+performance.+Improvements+in+CXF+3.0.0)
this worked at least as fast as the spring variant with several consumers.
I only tested with ActiveMQ though so if you use a different provider
you may see a different performance.
So as a short answer you currently can not set the consumer threads. We
could add this if there is need but currently I did not find a good
reason. So I stayed with the simplest solution.
Which provider do you use?
Did your jms performance with default settings decrease after the switch?
Christian
On 07.10.2014 14:43, Eernie wrote:
> Hi,
>
> I'm currently migrating my code from cxf 2.6.1 to 3.0.1.
> I'm having some problems with the jms protocol. We're currently using the
> maxConcurrentConsumers from the jmsConfiguration. I see this property has
> been removed. Can someone tell me how I should configure this now?
> The Documentation isn't explaining how this should be configured. Atleast, I
> didn't find it.
>
> I did find a StackOverflow post, but now comments were post on that.
>
> See:
> http://stackoverflow.com/questions/24785219/apache-cxf-jms-3-0-and-spring-configuration#comment41150668_24785219
>
> Thanks in advance,
>
> Erwin Oldenkamp
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/CXF-3-0-1-doesn-t-have-concurrentConsumers-tp5749534.html
> Sent from the cxf-user mailing list archive at Nabble.com.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com