synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arockia Raphael (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SYNAPSE-990) Endpoint Address Timeout per method/function level
Date Wed, 23 Jul 2014 12:34:39 GMT

     [ https://issues.apache.org/jira/browse/SYNAPSE-990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Arockia Raphael updated SYNAPSE-990:
------------------------------------

    Description: 
Currently, Timeout duration is specified at end point level. The mentioned timeout is applicable
for any method call belongs to that service. We are having a situation where some of the service
methods respond within 3 seconds and some other with more data will take 30 seconds. However,
we do not like the approach of our quick methods waiting for 30 seconds in case of error/failure
situations. There may be work around but would like to enquire any easiest way to implement
this functionality.

Just mentioned the sample what we are trying to achieve. Thanks in advance!!

<inSequence>
    <send>
	<endpoint>
		<address 	uri="http://localhost:9080/SimpleStockQuoteService/services/SimpleStockQuoteService">
                
                   <switch source="$ctx:envelope//method" >	--> Parse from input
request and retrieve the methodname (soap envelope or rest )
                    <case regex="method1">
			<timeout>
				<duration>10000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </case>
                     <case regex="method2">
			<timeout>
				<duration>30000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </case>
                      <default">
			<timeout>
				<duration>30000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </default>
               </switch>

 </inSequence>        

  was:
Currently, Timeout duration is specified at end point level. The mentioned timeout is applicable
for any method call belongs to that service. We are having a situation where some of the service
methods respond within 3 seconds and some other with more data will take 30 seconds. However,
we do not like the approach of our quick methods waiting for 30 seconds in case of error/failure
situations. There may be work around but would like to enquire any easiest way to implement
this functionality.

Just mentioned the sample what we are trying to achieve. Thanks in advance!!

<inSequence>
<send>
	<endpoint>
		<address 	uri="http://localhost:9080/SimpleStockQuoteService/services/SimpleStockQuoteService">
                
 <switch source="$ctx:envelope//method" >	--> Parse from input request and retrieve
the methodname ( soap envelope or rest )
                    <case regex="method1">
			<timeout>
				<duration>10000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </case>
                     <case regex="method2">
			<timeout>
				<duration>30000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </case>
                      <default">
			<timeout>
				<duration>30000</duration>
				<responseAction>fault</responseAction>
			</timeout>
                     </default>
               </switch>

 </inSequence>        


> Endpoint Address Timeout per method/function level
> --------------------------------------------------
>
>                 Key: SYNAPSE-990
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-990
>             Project: Synapse
>          Issue Type: Improvement
>          Components: Endpoints
>    Affects Versions: 2.1
>            Reporter: Arockia Raphael
>            Assignee: Hiranya Jayathilaka
>            Priority: Minor
>
> Currently, Timeout duration is specified at end point level. The mentioned timeout is
applicable for any method call belongs to that service. We are having a situation where some
of the service methods respond within 3 seconds and some other with more data will take 30
seconds. However, we do not like the approach of our quick methods waiting for 30 seconds
in case of error/failure situations. There may be work around but would like to enquire any
easiest way to implement this functionality.
> Just mentioned the sample what we are trying to achieve. Thanks in advance!!
> <inSequence>
>     <send>
> 	<endpoint>
> 		<address 	uri="http://localhost:9080/SimpleStockQuoteService/services/SimpleStockQuoteService">
>                 
>                    <switch source="$ctx:envelope//method" >	--> Parse from input
request and retrieve the methodname (soap envelope or rest )
>                     <case regex="method1">
> 			<timeout>
> 				<duration>10000</duration>
> 				<responseAction>fault</responseAction>
> 			</timeout>
>                      </case>
>                      <case regex="method2">
> 			<timeout>
> 				<duration>30000</duration>
> 				<responseAction>fault</responseAction>
> 			</timeout>
>                      </case>
>                       <default">
> 			<timeout>
> 				<duration>30000</duration>
> 				<responseAction>fault</responseAction>
> 			</timeout>
>                      </default>
>                </switch>
>  </inSequence>        



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message