lopushen opened a new pull request, #321:
URL: https://github.com/apache/camel-karaf/pull/321

   Fixes https://github.com/apache/camel-karaf/issues/320
   
   Motivation
   
   - During testing using an OSGI blueprint, it turned out that the 
camel-aws2-sqs is missing bundles to successfully execute the route.
   
   Modifications:
   
   - Add the missing bundles
   - Add an integration test for camel-aws2-sqs
   
   To run localstack (AWS emulator):
   `docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 
localstack/localstack`
   In the emulator run
   `aws configure --profile localstack`
   and enter in the prompt:
   
   ```
   test
   test
   us-east-1
   json
   ```
   to get
   
   ```
   AWS Access Key ID [None]: test
   AWS Secret Access Key [None]: test
   Default region name [None]: us-east-1
   Default output format [None]: json
   ```
   Create an sqs queue in the localstack
   `aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name 
my-queue`
   
   Deploy the following blueprint
   
   ```
   <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
              
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
              xsi:schemaLocation="
                http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd
                http://www.osgi.org/xmlns/blueprint/v1.0.0 
https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
                http://camel.apache.org/schema/blueprint 
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
   
       <bean id="sqs2Configuration" 
class="org.apache.camel.component.aws2.sqs.Sqs2Configuration">
           <property name="accessKey" value="test"/>
           <property name="secretKey" value="test"/>
           <property name="region" value="us-east-1"/>
           <property name="overrideEndpoint" value="true"/>
           <property name="uriEndpointOverride" value="http://localhost:4566"/>
       </bean>
   
       <bean id="aws2-sqs" 
class="org.apache.camel.component.aws2.sqs.Sqs2Component">
           <property name="configuration" ref="sqs2Configuration"/>
       </bean>
       <camelContext id="camel" 
xmlns="http://camel.apache.org/schema/blueprint";>
           <route id="sendSqsMessageRoute">
               <from uri="timer:sendEmailTimer?period=5000"/> 
               <setBody>
                   <constant>Hello, this is a test message from AWS 
sqs!</constant>
               </setBody>
               <to uri="aws2-sqs://my-queue"/>
               <log message="Sent message: ${body}"/>
           </route>
           <route id="receiveFromSqsRoute">
               <from uri="aws2-sqs://my-queue"/>
               <log message="Received message: ${body}"/>
           </route>
       </camelContext>
   </blueprint>
   
   ```
   
   Observe the following output:
   ```
   00:35:15.569 INFO [Camel (camel-1) thread #2 - timer://sendEmailTimer] Sent 
message: Hello, this is a test message from AWS sqs!
   00:35:15.898 INFO [Camel (camel-1) thread #1 - aws2-sqs://my-queue] Received 
message: Hello, this is a test message from AWS sqs!
   00:35:20.571 INFO [Camel (camel-1) thread #2 - timer://sendEmailTimer] Sent 
message: Hello, this is a test message from AWS sqs!
   00:35:21.062 INFO [Camel (camel-1) thread #1 - aws2-sqs://my-queue] Received 
message: Hello, this is a test message from AWS sqs!
   00:35:25.586 INFO [Camel (camel-1) thread #2 - timer://sendEmailTimer] Sent 
message: Hello, this is a test message from AWS sqs!
   00:35:25.730 INFO [Camel (camel-1) thread #1 - aws2-sqs://my-queue] Received 
message: Hello, this is a test message from AWS sqs!
   ```
   
   Also, an integration test was added to test the feature (artifact 
camel-aws2-sqs-test) - run `mvn clean verify` in the folder to run the test


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to