- added configurable buffer size
Issue-ID: CPS-2195
Change-Id: I7cdb09856fd4d80134a91e54faa7e6600f3721dc
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
maximumConnectionsPerRoute: 50
maximumConnectionsTotal: 100
idleConnectionEvictionThresholdInSeconds: 5
maximumConnectionsPerRoute: 50
maximumConnectionsTotal: 100
idleConnectionEvictionThresholdInSeconds: 5
+ maximumInMemorySizeInMegabytes: 16
auth:
username: ${DMI_USERNAME}
password: ${DMI_PASSWORD}
auth:
username: ${DMI_USERNAME}
password: ${DMI_PASSWORD}
@Value("${ncmp.dmi.httpclient.connectionTimeoutInSeconds:20000}")
private Integer connectionTimeoutInSeconds;
@Value("${ncmp.dmi.httpclient.connectionTimeoutInSeconds:20000}")
private Integer connectionTimeoutInSeconds;
+ @Value("${ncmp.dmi.httpclient.maximumInMemorySizeInMegabytes:1}")
+ private Integer maximumInMemorySizeInMegabytes;
+
@Getter
@Component
public static class DmiProperties {
@Getter
@Component
public static class DmiProperties {
.defaultHeaders(header -> header.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE))
.defaultHeaders(header -> header.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE))
.clientConnector(new ReactorClientHttpConnector(httpClient))
.defaultHeaders(header -> header.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE))
.defaultHeaders(header -> header.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE))
.clientConnector(new ReactorClientHttpConnector(httpClient))
+ .codecs(configurer -> configurer
+ .defaultCodecs()
+ .maxInMemorySize(maximumInMemorySizeInMegabytes * 1024 * 1024))
@SpringBootTest
@ContextConfiguration(classes = [DmiWebClientConfiguration.DmiProperties])
@SpringBootTest
@ContextConfiguration(classes = [DmiWebClientConfiguration.DmiProperties])
-@TestPropertySource(properties = ["ncmp.dmi.httpclient.connectionTimeoutInSeconds=1"])
+@TestPropertySource(properties = ["ncmp.dmi.httpclient.connectionTimeoutInSeconds=1", "ncmp.dmi.httpclient.maximumInMemorySizeInMegabytes=1"])
class DmiWebClientConfigurationSpec extends Specification {
@Autowired
class DmiWebClientConfigurationSpec extends Specification {
@Autowired
def setup() {
objectUnderTest.connectionTimeoutInSeconds = 10
def setup() {
objectUnderTest.connectionTimeoutInSeconds = 10
+ objectUnderTest.maximumInMemorySizeInMegabytes = 1
}
def 'DMI Properties.'() {
}
def 'DMI Properties.'() {
dmi:
httpclient:
connectionTimeoutInSeconds: 180
dmi:
httpclient:
connectionTimeoutInSeconds: 180
+ maximumInMemorySizeInMegabytes: 16
auth:
username: some-user
password: some-password
auth:
username: some-user
password: some-password
maximumConnectionsPerRoute: 50
maximumConnectionsTotal: 100
idleConnectionEvictionThresholdInSeconds: 5
maximumConnectionsPerRoute: 50
maximumConnectionsTotal: 100
idleConnectionEvictionThresholdInSeconds: 5
+ maximumInMemorySizeInMegabytes: 16
auth:
username: dmi
password: dmi
auth:
username: dmi
password: dmi