Hi ESB Team,

When consider about "JMS connection factory parameters" [1] , user can
define "transport.jms.InitialReconnectDuration" parameter to give time
duration which will define initial reconnection time after broken JMS
connection.

But the given value will be multiply with 2. That 2 is coming from
"reconnectionProgressionFactor" which can be over ride by
"transport.jms.ReconnectProgressFactor" (Which is another jms connection
factory parameter).

ServiceTaskManager.java class will handle above function as follows:

                   i









*f (reconnectDuration != null) {                            retryDuration =
reconnectDuration;                            log.error("Reconnection
attempt : " + (r++) + " for service : "
+                                    serviceName + " failed. Next retry in
" + (retryDuration / 1000) +                                    " seconds.
(Fixed Interval)");                        } else
{                            retryDuration = (long) (retryDuration *
reconnectionProgressionFactor);
log.error("Reconnection attempt : " + (r++) + " for service : "
+                                    serviceName + " failed. Next retry in
" + (retryDuration / 1000) +                                    "
seconds");*


There are two facts to clarify with above situation.

1. According to user perspective, it may be wrong to multiply the value
which is given by user.

Ex: User may add 10 seconds as initial retry interval, but ESB does it
within 20 seconds.

Note: When we add "transport.jms.ReconnectProgressFactor" in to axis2.xml,
it can be override.

*<parameter name ="transport.jms.ReconnectProgressFactor"
locked="false">1</parameter>*

2. Why we hard code *reconnectionProgressionFactor *as 2 ? Can we change it
or is it impossible because of the behavior of axis2 ?

As a suggestion, it will be better to add it as 1. (It may also solve the
problem discussed above step)





*/** Progression factory for geometric series that calculates re-connection
times */    private double reconnectionProgressionFactor = 2.0; // default
to [bounded] exponential*
Any clarification on above factors will be really appreciated.


[1] - https://docs.wso2.com/display/ESB500/JMS+Transport
[2] - https://axis.apache.org/axis2/java/transports/jms.html

Thank you.

-- 
Best Regards,

Dilshani Subasinghe
Software Engineer - QA
WSO2, Inc.;http://wso2.com/
<http://www.google.com/url?q=http%3A%2F%2Fwso2.com%2F&sa=D&sntz=1&usg=AFQjCNGJuLRux6KkJwXKVUCYOtEsNCmIAQ>
lean.enterprise.middleware
Mobile: +94773375185
Blog: dilshanilive.blogspot.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to