CAMEL-11832: Polished and fixed a few things. This closes #1994
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/67ca92b6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/67ca92b6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/67ca92b6 Branch: refs/heads/master Commit: 67ca92b600db50fdd1e6465a687804970ecaf897 Parents: 16c8245 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Oct 3 17:16:14 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Oct 3 17:16:35 2017 +0200 ---------------------------------------------------------------------- .../src/main/docs/aws-lambda-component.adoc | 37 +++--- components/camel-aws/src/main/docs/aws.adoc | 32 +---- .../component/aws/lambda/LambdaComponent.java | 10 +- .../aws/lambda/LambdaConfiguration.java | 27 ++-- .../component/aws/lambda/LambdaEndpoint.java | 7 +- .../component/aws/lambda/LambdaProducer.java | 20 +-- .../LambdaComponentAutoConfiguration.java | 128 +++++++++++++++++++ .../LambdaComponentConfiguration.java | 50 ++++++++ .../main/resources/META-INF/spring.factories | 4 +- 9 files changed, 230 insertions(+), 85 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/docs/aws-lambda-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc index f08fe23..d8a92dc 100644 --- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc +++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc @@ -1,6 +1,6 @@ -## AWS Lambda Component +== AWS Lambda Component -*Available as of Camel version 2.21* +*Available as of Camel version 2.20* The Lambda component supports create, get, list, delete and invoke https://aws.amazon.com/lambda/[AWS Lambda] functions. @@ -40,31 +40,34 @@ The AWS Lambda component has no options. // endpoint options: START The AWS Lambda endpoint is configured using URI syntax: - aws-lambda:functionName +---- +aws-lambda:function +---- with the following path and query parameters: -#### Path Parameters (1 parameters): +==== Path Parameters (1 parameters): [width="100%",cols="2,5,^1,2",options="header"] -|======================================================================= +|=== | Name | Description | Default | Type -| **function** | *Required* Name of the Lambda function. | | String -|======================================================================= +| *function* | *Required* Name of the Lambda function. | | String +|=== -#### Query Parameters (8 parameters): +==== Query Parameters (8 parameters): [width="100%",cols="2,5,^1,2",options="header"] -|======================================================================= +|=== | Name | Description | Default | Type -| **accessKey** (producer) | Amazon AWS Access Key | | String -| **awsLambdaClient** (producer) | To use a existing configured AwsLambdaClient as client | | AWSLambda -| **awsLambdaEndpoint** (producer) | The region with which the AWS-Lambda client wants to work with. | | String -| **operation** (producer) | *Required* The operation to perform. It can be listFunctions getFunction createFunction deleteFunction or invokeFunction | | LambdaOperations -| **proxyHost** (producer) | To define a proxy host when instantiating the Lambda client | | String -| **proxyPort** (producer) | To define a proxy port when instantiating the Lambda client | | Integer -| **secretKey** (producer) | Amazon AWS Secret Key | | String -|======================================================================= +| *awsLambdaEndpoint* (producer) | The region with which the AWS-Lambda client wants to work with. | | String +| *operation* (producer) | *Required* The operation to perform. It can be listFunctions getFunction createFunction deleteFunction or invokeFunction | | LambdaOperations +| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client | | AWSLambda +| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). | false | boolean +| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client | | String +| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client | | Integer +| *accessKey* (security) | Amazon AWS Access Key | | String +| *secretKey* (security) | Amazon AWS Secret Key | | String +|=== // endpoint options: END http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/docs/aws.adoc ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/docs/aws.adoc b/components/camel-aws/src/main/docs/aws.adoc index 7a3f9bb..aef3a44 100644 --- a/components/camel-aws/src/main/docs/aws.adoc +++ b/components/camel-aws/src/main/docs/aws.adoc @@ -1,35 +1,5 @@ -[[AWS-CamelComponentsforAmazonWebServices]] -Camel Components for Amazon Web Services -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +=== Camel Components for Amazon Web Services The Camel Components for http://aws.amazon.com[Amazon Web Services] provide connectivity to AWS services from Camel. - Â -[width="100%",cols="30%,10%,10%,50%",options="header",] -|======================================================================= -|AWS Service |Camel Component |Camel Version | Component Description - -|http://aws.amazon.com/sqs/[Simple Queue Service (SQS)] |link:aws-sqs.html[AWS-SQS] |2.6.0 |Supports sending and receiving messages using SQS - -|http://aws.amazon.com/sns/[Simple Notification Service (SNS)] |link:aws-sns.html[AWS-SNS] |2.8.0 |Supports sending messages using SNS - -|http://aws.amazon.com/s3/[Simple Storage Service (S3)] |link:aws-s3.html[AWS-S3] |2.8.0 |Supports storing and retrieving of objects using S3 - -|http://aws.amazon.com/ses/[Simple Email Service (SES)] |link:aws-ses.html[AWS-SES] |2.8.4 |Supports sending emails using SES - -|http://aws.amazon.com/simpledb/[SimpleDB] |link:aws-sdb.html[AWS-SDB] |2.8.4 |Supports storing retrieving data to/from SDB - -|http://aws.amazon.com/dynamodb/[DynamoDB] |link:aws-ddb.html[AWS-DDB] |2.10.0 |Supports storing retrieving data to/from DDB - -|http://aws.amazon.com/cloudwatch/[CloudWatch] |link:aws-cw.html[AWS-CW] |2.10.3 |Supports sending metrics to CloudWatch - -|http://aws.amazon.com/swf/[Simple Workflow] |link:aws-swf.html[AWS-SWF] |2.13.0 |Supports managing workflows with SWF - -|http://aws.amazon.com/ec2/[EC2] |link:aws-ec2.html[AWS-EC2] |2.16.0 |Supports sending messages to AWS EC2 platform to create, run, start, -stop, describe and terminate EC2 instances - -|https://aws.amazon.com/kinesis/streams/[Kinesis Streams] |link:aws-kinesis.html[AWS-KINESIS] |2.17.0 |Supports receiving from AWS Kinesis - -|http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html[DynamoDb Streams] |link:aws-ddbstream.html[AWS-DDBSTREAM] |2.17.0 |Supports receiving from DynamoDB Streams -|======================================================================= http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java index 371cc38..9f958ab 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java @@ -16,20 +16,20 @@ */ package org.apache.camel.component.aws.lambda; -import java.util.*; +import java.util.Map; + import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; -import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.impl.DefaultComponent; import org.apache.camel.util.ObjectHelper; -public class LambdaComponent extends UriEndpointComponent { +public class LambdaComponent extends DefaultComponent { public LambdaComponent() { - super(LambdaEndpoint.class); } public LambdaComponent(CamelContext context) { - super(context, LambdaEndpoint.class); + super(context); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java index 4286c1d..e672da6 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java @@ -23,27 +23,26 @@ import org.apache.camel.spi.UriParams; import org.apache.camel.spi.UriPath; @UriParams -public class LambdaConfiguration implements Cloneable { +public class LambdaConfiguration { @UriPath @Metadata(required = "true") private String function; - @UriParam(label = "producer") - private AWSLambda awsLambdaClient; - @UriParam(label = "producer", secret = true) - private String accessKey; - @UriParam(label = "producer", secret = true) - private String secretKey; - @UriParam(label = "producer") - private String awsLambdaEndpoint; - @UriParam(label = "producer") + @UriParam @Metadata(required = "true") private LambdaOperations operation; - @UriParam(label = "producer") + @UriParam + private String awsLambdaEndpoint; + @UriParam(label = "security", secret = true) + private String accessKey; + @UriParam(label = "security", secret = true) + private String secretKey; + @UriParam(label = "proxy") private String proxyHost; - @UriParam(label = "producer") + @UriParam(label = "proxy") private Integer proxyPort; - + @UriParam(label = "advanced") + private AWSLambda awsLambdaClient; public String getFunction() { return function; @@ -56,7 +55,6 @@ public class LambdaConfiguration implements Cloneable { this.function = function; } - public AWSLambda getAwsLambdaClient() { return awsLambdaClient; } @@ -134,5 +132,4 @@ public class LambdaConfiguration implements Cloneable { this.proxyPort = proxyPort; } - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java index 086a2fe..725a404 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java @@ -26,7 +26,7 @@ import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; -import org.apache.camel.impl.ScheduledPollEndpoint; +import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.util.ObjectHelper; @@ -34,8 +34,9 @@ import org.apache.camel.util.ObjectHelper; /** * The aws-lambda is used for managing and invoking functions from Amazon Lambda. */ -@UriEndpoint(firstVersion = "2.21.0", scheme = "aws-lambda", title = "AWS Lambda", syntax = "aws-lambda:functionName", producerOnly = true, label = "cloud,computing,serverless") -public class LambdaEndpoint extends ScheduledPollEndpoint { +@UriEndpoint(firstVersion = "2.20.0", scheme = "aws-lambda", title = "AWS Lambda", + syntax = "aws-lambda:function", producerOnly = true, label = "cloud,computing,serverless") +public class LambdaEndpoint extends DefaultEndpoint { private AWSLambda awsLambdaClient; http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java index cff6ac5..226c08f 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java @@ -16,10 +16,12 @@ */ package org.apache.camel.component.aws.lambda; -import java.io.*; -import java.nio.*; +import java.io.File; +import java.io.FileInputStream; +import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.List; +import java.util.Map; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.lambda.AWSLambda; @@ -49,7 +51,6 @@ import org.slf4j.LoggerFactory; import static org.apache.camel.component.aws.common.AwsExchangeUtil.getMessageForResponse; - /** * A Producer which sends messages to the Amazon Web Service Lambda <a * href="https://aws.amazon.com/lambda/">AWS Lambda</a> @@ -62,7 +63,6 @@ public class LambdaProducer extends DefaultProducer { super(endpoint); } - @Override public void process(final Exchange exchange) throws Exception { switch (determineOperation(exchange)) { @@ -86,7 +86,6 @@ public class LambdaProducer extends DefaultProducer { } } - private void getFunction(AWSLambda lambdaClient, Exchange exchange) { GetFunctionResult result; try { @@ -99,7 +98,6 @@ public class LambdaProducer extends DefaultProducer { message.setBody(result); } - private void deleteFunction(AWSLambda lambdaClient, Exchange exchange) { DeleteFunctionResult result; try { @@ -112,7 +110,6 @@ public class LambdaProducer extends DefaultProducer { message.setBody(result); } - private void listFunctions(AWSLambda lambdaClient, Exchange exchange) { ListFunctionsResult result; try { @@ -125,7 +122,6 @@ public class LambdaProducer extends DefaultProducer { message.setBody(result); } - private void invokeFunction(AWSLambda lambdaClient, Exchange exchange) { InvokeResult result; try { @@ -141,11 +137,10 @@ public class LambdaProducer extends DefaultProducer { message.setBody(StandardCharsets.UTF_8.decode(result.getPayload()).toString()); } - private void createFunction(AWSLambda lambdaClient, Exchange exchange) throws Exception { CreateFunctionResult result; - try { + try { CreateFunctionRequest request = new CreateFunctionRequest() .withFunctionName(getConfiguration().getFunction()); @@ -269,15 +264,14 @@ public class LambdaProducer extends DefaultProducer { result = lambdaClient.createFunction(request); } catch (AmazonServiceException ase) { - System.out.println(ase.getErrorCode() + " - " + ase.getErrorMessage()); LOG.trace("invokeFunction command returned the error code {}", ase.getErrorCode()); throw ase; } + Message message = getMessageForResponse(exchange); message.setBody(result); } - private LambdaOperations determineOperation(Exchange exchange) { LambdaOperations operation = exchange.getIn().getHeader(LambdaConstants.OPERATION, LambdaOperations.class); if (operation == null) { http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java new file mode 100644 index 0000000..a71d351 --- /dev/null +++ b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java @@ -0,0 +1,128 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.aws.lambda.springboot; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import org.apache.camel.CamelContext; +import org.apache.camel.component.aws.lambda.LambdaComponent; +import org.apache.camel.spi.ComponentCustomizer; +import org.apache.camel.spi.HasId; +import org.apache.camel.spring.boot.CamelAutoConfiguration; +import org.apache.camel.spring.boot.ComponentConfigurationProperties; +import org.apache.camel.spring.boot.util.CamelPropertiesHelper; +import org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans; +import org.apache.camel.spring.boot.util.GroupCondition; +import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator; +import org.apache.camel.util.IntrospectionSupport; +import org.apache.camel.util.ObjectHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +/** + * Generated by camel-package-maven-plugin - do not edit this file! + */ +@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo") +@Configuration +@Conditional({ConditionalOnCamelContextAndAutoConfigurationBeans.class, + LambdaComponentAutoConfiguration.GroupConditions.class}) +@AutoConfigureAfter(CamelAutoConfiguration.class) +@EnableConfigurationProperties({ComponentConfigurationProperties.class, + LambdaComponentConfiguration.class}) +public class LambdaComponentAutoConfiguration { + + private static final Logger LOGGER = LoggerFactory + .getLogger(LambdaComponentAutoConfiguration.class); + @Autowired + private ApplicationContext applicationContext; + @Autowired + private CamelContext camelContext; + @Autowired + private LambdaComponentConfiguration configuration; + @Autowired(required = false) + private List<ComponentCustomizer<LambdaComponent>> customizers; + + static class GroupConditions extends GroupCondition { + public GroupConditions() { + super("camel.component", "camel.component.aws-lambda"); + } + } + + @Lazy + @Bean(name = "aws-lambda-component") + @ConditionalOnMissingBean(LambdaComponent.class) + public LambdaComponent configureLambdaComponent() throws Exception { + LambdaComponent component = new LambdaComponent(); + component.setCamelContext(camelContext); + Map<String, Object> parameters = new HashMap<>(); + IntrospectionSupport.getProperties(configuration, parameters, null, + false); + for (Map.Entry<String, Object> entry : parameters.entrySet()) { + Object value = entry.getValue(); + Class<?> paramClass = value.getClass(); + if (paramClass.getName().endsWith("NestedConfiguration")) { + Class nestedClass = null; + try { + nestedClass = (Class) paramClass.getDeclaredField( + "CAMEL_NESTED_CLASS").get(null); + HashMap<String, Object> nestedParameters = new HashMap<>(); + IntrospectionSupport.getProperties(value, nestedParameters, + null, false); + Object nestedProperty = nestedClass.newInstance(); + CamelPropertiesHelper.setCamelProperties(camelContext, + nestedProperty, nestedParameters, false); + entry.setValue(nestedProperty); + } catch (NoSuchFieldException e) { + } + } + } + CamelPropertiesHelper.setCamelProperties(camelContext, component, + parameters, false); + if (ObjectHelper.isNotEmpty(customizers)) { + for (ComponentCustomizer<LambdaComponent> customizer : customizers) { + boolean useCustomizer = (customizer instanceof HasId) + ? HierarchicalPropertiesEvaluator.evaluate( + applicationContext.getEnvironment(), + "camel.component.customizer", + "camel.component.aws-lambda.customizer", + ((HasId) customizer).getId()) + : HierarchicalPropertiesEvaluator.evaluate( + applicationContext.getEnvironment(), + "camel.component.customizer", + "camel.component.aws-lambda.customizer"); + if (useCustomizer) { + LOGGER.debug("Configure component {}, with customizer {}", + component, customizer); + customizer.customize(component); + } + } + } + return component; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConfiguration.java new file mode 100644 index 0000000..5e1025d --- /dev/null +++ b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConfiguration.java @@ -0,0 +1,50 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.aws.lambda.springboot; + +import javax.annotation.Generated; +import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * The aws-lambda is used for managing and invoking functions from Amazon + * Lambda. + * + * Generated by camel-package-maven-plugin - do not edit this file! + */ +@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo") +@ConfigurationProperties(prefix = "camel.component.aws-lambda") +public class LambdaComponentConfiguration + extends + ComponentConfigurationPropertiesCommon { + + /** + * Whether the component should resolve property placeholders on itself when + * starting. Only properties which are of String type can use property + * placeholders. + */ + private Boolean resolvePropertyPlaceholders = true; + + public Boolean getResolvePropertyPlaceholders() { + return resolvePropertyPlaceholders; + } + + public void setResolvePropertyPlaceholders( + Boolean resolvePropertyPlaceholders) { + this.resolvePropertyPlaceholders = resolvePropertyPlaceholders; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/67ca92b6/platforms/spring-boot/components-starter/camel-aws-starter/src/main/resources/META-INF/spring.factories ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-aws-starter/src/main/resources/META-INF/spring.factories b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/resources/META-INF/spring.factories index 74ef782..e126ade 100644 --- a/platforms/spring-boot/components-starter/camel-aws-starter/src/main/resources/META-INF/spring.factories +++ b/platforms/spring-boot/components-starter/camel-aws-starter/src/main/resources/META-INF/spring.factories @@ -26,7 +26,9 @@ org.apache.camel.component.aws.sqs.springboot.SqsComponentAutoConfiguration,\ org.apache.camel.component.aws.ec2.springboot.EC2ComponentAutoConfiguration,\ org.apache.camel.component.aws.cw.springboot.CwComponentAutoConfiguration,\ org.apache.camel.component.aws.ddb.springboot.DdbComponentAutoConfiguration,\ -org.apache.camel.component.aws.firehose.springboot.KinesisFirehoseComponentAutoConfiguration +org.apache.camel.component.aws.firehose.springboot.KinesisFirehoseComponentAutoConfiguration,\ +org.apache.camel.component.aws.lambda.springboot.LambdaComponentAutoConfiguration +