You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Håkon Sagehaug <Ha...@bccs.uib.no> on 2009/10/02 10:20:01 UTC

JMS queue in smx

Hi all,

I wanted a tip/guidance to see if I'm on the right track. We have a web
service(python), the server that runs the server has a queue inside it to
control that no more then lets say 10 request is forwarded to the ws.  The
reason for this is that the pyhton ws created a new process, so one request
== one new process.

But then we decided to look closer to servicemix and see if we could throw
the queue out from the ws server. My initial thoughts on the configuration
is like this:

incoming soap over http request -> cxf-bc (consumer) -> jms-bc(provider) ->
queue(activemq) -> jms-bc(consumer) -> cxf-bc(provider) -> external service

Is this the correct picture of what components that needs to be involved?
Also not sure how i can configure that property we have on the server that
lets say in the queue the 11'th request is sent to the ws, now before we
send a new request, at least one response should come back so there is a
free process from the process pool on the server ready to be started. Any
tips on how to realize this?

hope my explanation was clear

cheers, Håkon

-- 
Håkon Sagehaug, Scientific Programmer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)

Re: JMS queue in smx

Posted by Gert Vanthienen <ge...@gmail.com>.
Håkon,

Using a queue in de middle to persist messages while throttling is
indeed the way to go.  To control the number of requests coming out of
the queue, you can either:
- use the new JMS endpoints
(http://servicemix.apache.org/servicemix-jms-new-endpoints.html) and
configure synchronous exchanges so you can keep track of the amount of
messages currently being processed
- use a Camel JMS endpoint to start the route, which allows you to set
the number of threads for that particular route (contrary to the JBI
paradigm which uses thread pools) -- camel also has a throttler
pattern that allows throttling the number of requests per time slot
(e.g. 10 per 30 seconds)

Regards,

Gert Vanthienen
------------------------
Open Source SOA: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/



2009/10/6 Håkon Sagehaug <Ha...@bccs.uib.no>:
> Hi all,
>
> Any tips or hint if/how this can be resolved in servicemix?
>
> cheers, Håkon
>
> 2009/10/2 Håkon Sagehaug <Ha...@bccs.uib.no>
>
>> Hi all,
>>
>> I wanted a tip/guidance to see if I'm on the right track. We have a web
>> service(python), the server that runs the server has a queue inside it to
>> control that no more then lets say 10 request is forwarded to the ws.  The
>> reason for this is that the pyhton ws created a new process, so one request
>> == one new process.
>>
>> But then we decided to look closer to servicemix and see if we could throw
>> the queue out from the ws server. My initial thoughts on the configuration
>> is like this:
>>
>> incoming soap over http request -> cxf-bc (consumer) -> jms-bc(provider) ->
>> queue(activemq) -> jms-bc(consumer) -> cxf-bc(provider) -> external service
>>
>> Is this the correct picture of what components that needs to be involved?
>> Also not sure how i can configure that property we have on the server that
>> lets say in the queue the 11'th request is sent to the ws, now before we
>> send a new request, at least one response should come back so there is a
>> free process from the process pool on the server ready to be started. Any
>> tips on how to realize this?
>>
>> hope my explanation was clear
>>
>> cheers, Håkon
>>
>> --
>> Håkon Sagehaug, Scientific Programmer
>> Parallab, Bergen Center for Computational Science (BCCS)
>> UNIFOB AS (University of Bergen Research Company)
>>
>
>
>
> --
> Håkon Sagehaug, Scientific Programmer
> Parallab, Bergen Center for Computational Science (BCCS)
> UNIFOB AS (University of Bergen Research Company)
>

Re: JMS queue in smx

Posted by Håkon Sagehaug <Ha...@bccs.uib.no>.
Hi all,

Any tips or hint if/how this can be resolved in servicemix?

cheers, Håkon

2009/10/2 Håkon Sagehaug <Ha...@bccs.uib.no>

> Hi all,
>
> I wanted a tip/guidance to see if I'm on the right track. We have a web
> service(python), the server that runs the server has a queue inside it to
> control that no more then lets say 10 request is forwarded to the ws.  The
> reason for this is that the pyhton ws created a new process, so one request
> == one new process.
>
> But then we decided to look closer to servicemix and see if we could throw
> the queue out from the ws server. My initial thoughts on the configuration
> is like this:
>
> incoming soap over http request -> cxf-bc (consumer) -> jms-bc(provider) ->
> queue(activemq) -> jms-bc(consumer) -> cxf-bc(provider) -> external service
>
> Is this the correct picture of what components that needs to be involved?
> Also not sure how i can configure that property we have on the server that
> lets say in the queue the 11'th request is sent to the ws, now before we
> send a new request, at least one response should come back so there is a
> free process from the process pool on the server ready to be started. Any
> tips on how to realize this?
>
> hope my explanation was clear
>
> cheers, Håkon
>
> --
> Håkon Sagehaug, Scientific Programmer
> Parallab, Bergen Center for Computational Science (BCCS)
> UNIFOB AS (University of Bergen Research Company)
>



-- 
Håkon Sagehaug, Scientific Programmer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)