I have a configuration class with this constructor:
public CxfConfigurerImpl(@Value("${cxfclient.timeout.connection}") long connectionTimeout,
@Value("${cxfclient.timeout.connection-request}") long connectionRequestTimeout,
@Value("${cxfclient.timeout.receive}") long receiveTimeout) {
this.receiveTimeout = receiveTimeout;
this.connectionTimeout = connectionTimeout;
this.connectionRequestTimeout = connectionRequestTimeout;
}
But I have different values to set according with my endpoints requests. Ex:
@Value("${cxfclient.timeout-three.connection}")
private long connectionTimeout3;
@Value("${cxfclient.timeout-three.connection-request}")
private long connectionRequestTimeout3;
@Value("${cxfclient.timeout-three.receive}")
private long receiveTimeout3;
@Autowired
private CxfConfigurerImpl cxfConfigurer3Seg = new CxfConfigurerImpl(connectionTimeout3, connectionRequestTimeout3, receiveTimeout3);
My environment variables are:
CXFCLIENT_TIMEOUT_CONNECTION=1000
CXFCLIENT_TIMEOUT_CONNECTIONREQUEST=1000
CXFCLIENT_TIMEOUT_RECEIVE=1000
CXFCLIENT_TIMEOUTTHREE_CONNECTION=3000
CXFCLIENT_TIMEOUTTHREE_CONNECTIONREQUEST=3000
CXFCLIENT_TIMEOUTTHREE_RECEIVE=3000
The problem is that for the object "cxfConfigurer3Seg" I'm getting the default constructor values (1000). Is there any way to override the values?
OBS: I can't change the "CxfConfigurerImpl" constructor implementation.