-
StackOverflow 文件
-
apache-camel 教程
-
Pub Sub 使用 Camel + Redis
-
RedisPublisher
public class RedisPublisher extends RouteBuilder {
public static final String CAMEL_REDIS_CHANNEL = "CamelRedis.Channel";
public static final String CAMEL_REDIS_MESSAGE = "CamelRedis.Message";
@Value("${redis.host}")
private String redisHost;
@Value("${redis.port}")
private int redisPort;
@Value("${redis.channel.mychannel}")
private String redisChannel;
private String producerName;
@Required
public void setProducerName(String producerName) {
this.producerName = producerName;
}
@Override
public void configure() throws Exception {
from(producerName)
.log(String.format("Publishing with redis in channel: %s, massage body: ${body}", redisChannel))
.setHeader(CAMEL_REDIS_CHANNEL, constant(redisChannel))
.setHeader(CAMEL_REDIS_MESSAGE, body())
.to(String.format("spring-redis://%s:%s?command=PUBLISH&redisTemplate=#%s", redisHost, redisPort, ManagedCamel.REDIS_TEMPLATE));
}
}