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