@@ -22,6 +22,9 @@ public class LambdaInvokerConfig {
2222 private static final String FUNCTIONS = "functions" ;
2323 private static final String METRICS_INJECTION = "metricsInjection" ;
2424 private static final String METRICS_NAME = "metricsName" ;
25+ private static final String MAX_CONCURRENCY = "maxConcurrency" ;
26+ private static final String MAX_PENDING_CONNECTION_ACQUIRES = "maxPendingConnectionAcquires" ;
27+ private static final String CONNECTION_ACQUISITION_TIMEOUT = "connectionAcquisitionTimeout" ;
2528
2629 private String region ;
2730 private String endpointOverride ;
@@ -31,6 +34,9 @@ public class LambdaInvokerConfig {
3134 private Map <String , String > functions ;
3235 private boolean metricsInjection ;
3336 private String metricsName ;
37+ private int maxConcurrency ;
38+ private int maxPendingConnectionAcquires ;
39+ private int connectionAcquisitionTimeout ;
3440
3541 public String getRegion () {
3642 return region ;
@@ -96,6 +102,30 @@ public void setMetricsName(String metricsName) {
96102 this .metricsName = metricsName ;
97103 }
98104
105+ public int getMaxConcurrency () {
106+ return maxConcurrency ;
107+ }
108+
109+ public void setMaxConcurrency (int maxConcurrency ) {
110+ this .maxConcurrency = maxConcurrency ;
111+ }
112+
113+ public int getMaxPendingConnectionAcquires () {
114+ return maxPendingConnectionAcquires ;
115+ }
116+
117+ public void setMaxPendingConnectionAcquires (int maxPendingConnectionAcquires ) {
118+ this .maxPendingConnectionAcquires = maxPendingConnectionAcquires ;
119+ }
120+
121+ public int getConnectionAcquisitionTimeout () {
122+ return connectionAcquisitionTimeout ;
123+ }
124+
125+ public void setConnectionAcquisitionTimeout (int connectionAcquisitionTimeout ) {
126+ this .connectionAcquisitionTimeout = connectionAcquisitionTimeout ;
127+ }
128+
99129 private final Config config ;
100130 private Map <String , Object > mappedConfig ;
101131
@@ -114,6 +144,7 @@ private LambdaInvokerConfig(String configName) {
114144 setConfigData ();
115145 setConfigMap ();
116146 }
147+
117148 public static LambdaInvokerConfig load () {
118149 return new LambdaInvokerConfig ();
119150 }
@@ -127,6 +158,7 @@ void reload() {
127158 setConfigData ();
128159 setConfigMap ();
129160 }
161+
130162 public Map <String , Object > getMappedConfig () {
131163 return mappedConfig ;
132164 }
@@ -160,6 +192,18 @@ private void setConfigData() {
160192 if (object != null ) {
161193 metricsName = (String )object ;
162194 }
195+ object = mappedConfig .get (MAX_CONCURRENCY );
196+ if (object != null ) {
197+ maxConcurrency = Config .loadIntegerValue (MAX_CONCURRENCY , object );
198+ }
199+ object = mappedConfig .get (MAX_PENDING_CONNECTION_ACQUIRES );
200+ if (object != null ) {
201+ maxPendingConnectionAcquires = Config .loadIntegerValue (MAX_PENDING_CONNECTION_ACQUIRES , object );
202+ }
203+ object = mappedConfig .get (CONNECTION_ACQUISITION_TIMEOUT );
204+ if (object != null ) {
205+ connectionAcquisitionTimeout = Config .loadIntegerValue (CONNECTION_ACQUISITION_TIMEOUT , object );
206+ }
163207 }
164208
165209 private void setConfigMap () {
0 commit comments