You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Greg Dritschler (Commented) (JIRA)" <de...@tuscany.apache.org> on 2011/11/04 17:03:54 UTC

[jira] [Commented] (TUSCANY-3969) RRBJMSBindingInvoker.invoke() should be setting timeout

    [ https://issues.apache.org/jira/browse/TUSCANY-3969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13144093#comment-13144093 ] 

Greg Dritschler commented on TUSCANY-3969:
------------------------------------------

Suggested fix

Long ttl = jmsBinding.getOperationJMSTimeToLive(operationName);
            if (ttl != null)
                context.setTimeToLive(ttl);

            // For twoway operations, determine a request timeout.
            // The SCA specs do not address how to do this.  We use the following approach.
            //  - If JMSTimeToLive is specified, use double that value.
            //    Doubling is basically arbitrary.  JMSTimeToLive expresses request
            //    transmission and queue time.  Doubling it allows request execution
            //    and response delivery to take up to the same amount of time.
            //    Note that explicitly coding a JMSTimeToLive of 0 results in
            //    a message that doesn't expire and an indefinite wait.
            //  - If JMSTimeToLive is not specified, get the default request
            //    timeout from the JMS resource factory and simply use that for the 
            //    request timeout and JMSTimeToLive value.
            if (!operation.isNonBlocking()) {
                if (ttl != null) {
            	   context.setRequestTimeout(ttl * 2);        
                }
                else {
                   long timeout = jmsResourceFactory.getDefaultRequestTimeout();
            	   context.setRequestTimeout(timeout);        
                   context.setTimeToLive(timeout);
                }
            }
                
> RRBJMSBindingInvoker.invoke() should be setting timeout
> -------------------------------------------------------
>
>                 Key: TUSCANY-3969
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3969
>             Project: Tuscany
>          Issue Type: Bug
>          Components: SCA Java Runtime
>    Affects Versions: Java-SCA-2.x
>            Reporter: Jennifer A Thompson
>
> The RRBJMSBindingInvoker.invoke() isn't setting the JMSTimeToLive timeout value. For example, I might expect to see something like the following in the invoke method:
> Long ttl = jmsBinding.getOperationJMSTimeToLive(operationName);
>             if (ttl != null)
>                 context.setTimeToLive(ttl);
> <followed by additional code to handle two way operations>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira