Hi,
My case is that my client in invoking the service to receive its data. it
invokes it and makes a busy waiting inside waiting for its data to be
completed. The providers have their data ready but they can't invoke the
service and they are getting queued waiting for the consumer to release
connection.
I tried to your solution and i set maxConcurrentConsumers to 10 but it
doesn't work. I still get the same behavior.
Here is context:
<jaxws:client id="cashierClient"
xmlns:tns="http://cashier.service.parsdeveloper.com"
serviceName="tns:cashierService"
endpointName="tns:cashierPortType"
address="jms://"
serviceClass="com.parsdeveloper.service.cashier.CashierPortType" >
<jaxws:features>
<bean
xmlns="http://www.springframework.org/schema/beans"
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="cashierjmsConfig" />
</jaxws:features>
</jaxws:client>
<jaxws:client id="coffeeMakerClient"
xmlns:cfm="http://coffeemaker.service.parsdeveloper.com"
serviceName="cfm:coffeeMakerService"
endpointName="cfm:coffeeMakerPortType" address="jms://"
serviceClass="com.parsdeveloper.service.coffeemaker.CoffeeMakerPortType">
<jaxws:features>
<bean
xmlns="http://www.springframework.org/schema/beans"
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="coffeemakerjmsConfig" />
</jaxws:features>
</jaxws:client>
<jaxws:client id="beverageClient"
xmlns:bv="http://beverage.service.parsdeveloper.com"
serviceName="bv:beverageService"
endpointName="bv:beveragePortType" address="jms://"
serviceClass="com.parsdeveloper.service.beverage.BeveragePortType">
<jaxws:features>
<bean
xmlns="http://www.springframework.org/schema/beans"
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="beveragejmsConfig" />
</jaxws:features>
</jaxws:client>
<jaxws:client id="handinClient"
xmlns:hin="http://handin.service.parsdeveloper.com"
serviceName="hin:handinService"
endpointName="hin:handinPortType" address="jms://"
serviceClass="com.parsdeveloper.service.handin.HandinPortType">
<jaxws:features>
<bean
xmlns="http://www.springframework.org/schema/beans"
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="handinjmsConfig" />
</jaxws:features>
</jaxws:client>
<!-- Services -->
<jaxws:endpoint id="cashierService"
xmlns:tns="http://cashier.service.parsdeveloper.com"
serviceName="tns:cashierService"
endpointName="tns:cashierPortType" address="jms://"
implementor="com.parsdeveloper.service.cashier.CashierPortTypeImpl" >
<jaxws:features>
<bean
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="cashierjmsConfig" />
</jaxws:features>
</jaxws:endpoint>
<jaxws:endpoint id="coffeeMakerService"
xmlns:cfm="http://coffeemaker.service.parsdeveloper.com"
serviceName="cfm:coffeeMakerService"
endpointName="cfm:coffeeMakerPortType" address="jms://"
implementor="com.parsdeveloper.service.coffeemaker.CoffeeMakerPortTypeImpl">
<jaxws:features>
<bean
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="coffeemakerjmsConfig" />
</jaxws:features>
</jaxws:endpoint>
<jaxws:endpoint id="beverageService"
xmlns:bv="http://beverage.service.parsdeveloper.com"
serviceName="bv:beverageService"
endpointName="bv:beveragePortType" address="jms://"
implementor="com.parsdeveloper.service.beverage.BeveragePortTypeImpl">
<jaxws:features>
<bean
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="beveragejmsConfig" />
</jaxws:features>
</jaxws:endpoint>
<jaxws:endpoint id="handinService"
xmlns:hin="http://handin.service.parsdeveloper.com"
serviceName="hin:handinService"
endpointName="hin:handinPortType" address="jms://"
implementor="com.parsdeveloper.service.handin.HandinPortTypeImpl">
<jaxws:features>
<bean
class="org.apache.cxf.transport.jms.JMSConfigFeature"
pl:jmsConfig-ref="handinjmsConfig" />
</jaxws:features>
</jaxws:endpoint>
<bean id="cashierjmsConfig"
class="org.apache.cxf.transport.jms.JMSConfiguration"
pl:connectionFactory-ref="jmsConnectionFactory"
pl:targetDestination="cashierqueue"
/>
<bean id="coffeemakerjmsConfig"
class="org.apache.cxf.transport.jms.JMSConfiguration"
pl:connectionFactory-ref="jmsConnectionFactory"
pl:targetDestination="coffeemakerqueue" />
<bean id="beveragejmsConfig"
class="org.apache.cxf.transport.jms.JMSConfiguration"
pl:connectionFactory-ref="jmsConnectionFactory"
pl:targetDestination="beveragequeue" />
<bean id="handinjmsConfig"
class="org.apache.cxf.transport.jms.JMSConfiguration"
pl:connectionFactory-ref="jmsConnectionFactory"
pl:targetDestination="handinqueue"
pl:concurrentConsumers="2" pl:maxConcurrentConsumers="10" />
<bean id="jmsConnectionFactory"
class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory">
<bean
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="ssl://localhost:61617" />
</bean>
</property>
<property name="reconnectOnException" value="true"/>
</bean>
Christian Schneider wrote:
>
> Hi Amer,
>
> have you tried using the settings concurrentConsumers and
> maxConcurrentConsumers. These settings default to 1 but you can use
> higher settings here.
> Besides that you can influence the number of threads that are spawned
> after receiving the messages (maxConcurrentTasks).
>
> See http://cxf.apache.org/docs/using-the-jmsconfigfeature.html
>
> Best regards
>
> Christian
>
>
> Am 04.12.2010 21:02, schrieb amer.almani:
>> Hello,
>>
>> I am building a JMS scenario using cxf. I have the classic
>> consumer/provider
>> scenario in one of the services.
>> One of my consumers try to collect its data by making an asynchronous
>> call
>> to the service. The providers are trying to invoke the service but they
>> are
>> queued pending the consumer release of connection.
>>
>> I wonder if cxf endpoints supports concurrent requests. I thought they
>> behave like servlets do. It seems to me that endpoints server one
>> requests
>> at a time..
>>
>>
>> Amer
>
> --
> ----
> http://www.liquid-reality.de
>
>
>
--
View this message in context:
http://cxf.547215.n5.nabble.com/Concurrent-request-in-JMS-endpoints-tp3292430p3292784.html
Sent from the cxf-user mailing list archive at Nabble.com.