You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2022/11/30 12:01:14 UTC

[GitHub] [camel-karaf] essobedo commented on pull request #215: CAMEL-18775: Re-add the camel-spring-redis Karaf feature

essobedo commented on PR #215:
URL: https://github.com/apache/camel-karaf/pull/215#issuecomment-1332041768

   Tested successfully with the next routes:
   
   ```
   <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="
                http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
   
       <bean id="idempotentRepository" class="org.apache.camel.component.redis.processor.idempotent.RedisIdempotentRepository" scope="singleton">
           <argument value="test-repo"/>
       </bean>
       <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" scope="singleton" init-method="afterPropertiesSet">
       </bean>
       <bean id="keySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" scope="singleton"/>
       <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" scope="singleton" init-method="afterPropertiesSet">
           <property name="connectionFactory" ref="connectionFactory"/>
           <property name="keySerializer" ref="keySerializer"/>
           <property name="hashKeySerializer" ref="keySerializer"/>
       </bean>
   
       <camelContext xmlns="http://camel.apache.org/schema/blueprint">
           <route startupOrder="1">
               <from uri="spring-redis://localhost:6379?command=SUBSCRIBE&amp;channels=testChannel&amp;redisTemplate=#redisTemplate"/>
               <idempotentConsumer idempotentRepository="idempotentRepository">
                   <simple>${in.body}</simple>
                   <log message="Message received: ${body}"/>
               </idempotentConsumer>
           </route>
   
           <route startupOrder="2">
               <from uri="timer:myTimer?period=10000" />
               <setHeader name="CamelRedis.Command">
                   <constant>PUBLISH</constant>
               </setHeader>
               <setHeader name="CamelRedis.Channel">
                   <constant>testChannel</constant>
               </setHeader>
               <setHeader name="CamelRedis.Message">
                   <simple>Message ${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Published 'Message one' to 'testChannel'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>PUBLISH</constant>
               </setHeader>
               <setHeader name="CamelRedis.Channel">
                   <constant>testChannel</constant>
               </setHeader>
               <setHeader name="CamelRedis.Message">
                   <constant>Message two</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Published 'Message two' to 'testChannel'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>SET</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <simple>someKey${header.firedTime}</simple>
               </setHeader>
               <setHeader name="CamelRedis.Value">
                   <constant>Some Value</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Set key 'someKey${header.firedTime}'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>GET</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <simple>someKey${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Get key 'someKey${header.firedTime}': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>EXISTS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <simple>someKey${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Key 'someKey${header.firedTime}' exists: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>KEYS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Pattern">
                   <constant>*</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Matching keys: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>DEL</constant>
               </setHeader>
               <setHeader name="CamelRedis.Keys">
                   <simple>${body}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Delete keys '${body}'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>EXISTS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <simple>someKey${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Key 'someKey${header.firedTime}' exists: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HSET</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <setHeader name="CamelRedis.Field">
                   <simple>someField${header.firedTime}</simple>
               </setHeader>
               <setHeader name="CamelRedis.Value">
                   <constant>Some Value</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="HSet key 'someKey/someField${header.firedTime}'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HGET</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <setHeader name="CamelRedis.Field">
                   <simple>someField${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="HGet key 'someKey/someField${header.firedTime}': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HEXISTS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <setHeader name="CamelRedis.Field">
                   <simple>someField${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="HKey 'someKey/someField${header.firedTime}' exists: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HKEYS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Matching fields: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HDEL</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <setHeader name="CamelRedis.Field">
                   <simple>someField${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="HDelete 'someKey/someField${header.firedTime}'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>HEXISTS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someKey</constant>
               </setHeader>
               <setHeader name="CamelRedis.Field">
                   <simple>someField${header.firedTime}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="HKey 'someKey/someField${header.firedTime}' exists: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>RPUSH</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someList</constant>
               </setHeader>
               <setHeader name="CamelRedis.VALUE">
                   <constant>3</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="RPUSH 3 to 'someList'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>LPUSH</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someList</constant>
               </setHeader>
               <setHeader name="CamelRedis.VALUE">
                   <constant>1</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="LPUSH 1 to 'someList'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>LINSERT</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someList</constant>
               </setHeader>
               <setHeader name="CamelRedis.VALUE">
                   <constant>2</constant>
               </setHeader>
               <setHeader name="CamelRedis.PIVOT">
                   <constant>1</constant>
               </setHeader>
               <setHeader name="CamelRedis.POSITION">
                   <constant>AFTER</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="LINSERT 2 to 'someList'"/>
               <setHeader name="CamelRedis.Command">
                   <constant>LPOP</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someList</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="LPOP from 'someList': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>RPOP</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someList</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="RPOP from 'someList': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>INCR</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someCounter</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="INCR 'someCounter': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>INCRBY</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someCounter</constant>
               </setHeader>
               <setHeader name="CamelRedis.VALUE">
                   <constant>5</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="INCRBY 'someCounter': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>DECRBY</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someCounter</constant>
               </setHeader>
               <setHeader name="CamelRedis.VALUE">
                   <constant>5</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="DECRBY 'someCounter': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>DECR</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>someCounter</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="DECR 'someCounter': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>GEOADD</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>Sicily</constant>
               </setHeader>
               <setHeader name="CamelRedis.Value">
                   <constant>Palermo</constant>
               </setHeader>
               <setHeader name="CamelRedis.Longitude">
                   <constant>13.361389</constant>
               </setHeader>
               <setHeader name="CamelRedis.Latitude">
                   <constant>38.115556</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="GEOADD 'Sicily/palermo': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>GEOPOS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Key">
                   <constant>Sicily</constant>
               </setHeader>
               <setHeader name="CamelRedis.Value">
                   <constant>Palermo</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="GEOPOS 'Sicily/palermo': ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>PING</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="PING : ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>ECHO</constant>
               </setHeader>
               <setHeader name="CamelRedis.Value">
                   <constant>Hello Redis</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="ECHO : ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>KEYS</constant>
               </setHeader>
               <setHeader name="CamelRedis.Pattern">
                   <constant>*</constant>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Matching keys: ${body}"/>
               <setHeader name="CamelRedis.Command">
                   <constant>DEL</constant>
               </setHeader>
               <setHeader name="CamelRedis.Keys">
                   <simple>${body}</simple>
               </setHeader>
               <to uri="spring-redis://localhost:6379?redisTemplate=#redisTemplate"/>
               <log message="Delete keys '${body}'"/>
           </route>
       </camelContext>
   
   </blueprint>
   
   ```


-- 
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-unsubscribe@camel.apache.org

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