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

Emmanuel Lecharny resolved DIRMINA-1045.
----------------------------------------
    Resolution: Invalid

Actually, and I have missed it, there is a call to a {{doSetAll}} method in the 
{{setAll}} method that will let the inherited class to update the 
configuration, including the specific parameters.

Regardless, I think that it would be way simpler to override the {{setAll}} 
methods in each implementation, calling the parent's {{setAll}} method, like in 
:

{noformat}
AbstractSocketSessionConfig.setAll(IoSessionConfig config) {
    super.setAll(config);

    AbstractSocketSessionConfig cfg = (AbstractSocketSessionConfig) config;

    if (cfg.isKeepAliveChanged()) {
        setKeepAlive(cfg.isKeepAlive());
    }
}
{noformat}

This would do the same work, but in a much simpler way !!!

> Not all the session configuration parameter can be set using the setaAll() 
> method
> ---------------------------------------------------------------------------------
>
>                 Key: DIRMINA-1045
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1045
>             Project: MINA
>          Issue Type: Bug
>    Affects Versions: 2.0.14
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.15
>
>
> The {{setAll(IoSessionConfig)}} method does not set all the possible 
> configurtion parameters : typically, the specific ones for each 
> {{AbstratIsSessionConfig}} subclasses aren't supported (KeepAlive for the 
> {{AbstractSocketSessionConfig}} class, etc). This is because teh {{setAll}} 
> method is declared as final in the {{AbstractIoSessionConfig}} and can't be 
> overloaded.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to