Код: Выделить всё
@Override
public void configure() throws Exception {
this.from("netty4:tcp://localhost:7000?textline=true&encoding=utf8")
.process(new Processor() {
@Override
public void process(final Exchange exchange) throws Exception {
log.info("[Processor] - Incoming Message -> {}", exchange.getIn().getBody(String.class));
}
}).to("bean:messageService");
}
Код: Выделить всё
$ telnet localhost 7000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
TheMessage
Служба Spring, которая получает и должна отправлять сообщения, это:
Код: Выделить всё
@Service
public class MessageService {
private static final Logger log = LoggerFactory.getLogger(MessageService.class);
private List messageStore = new LinkedList();
public void sendToTCP(final String message) {
log.info("[Service] - Sending Message over TCP Channel --> {}", message);
}
@Handler
public void receiveFromTCP(final Exchange exchange) {
final String messageFromTcp = exchange.getIn().getBody(String.class);
log.info("[Service] - Message Received from TCP Channel --> {}", messageFromTcp);
this.messageStore.add(messageFromTcp);
}
public List getReceivedMessages() {
return messageStore;
}
}
Код: Выделить всё
public void sendToTCP(final String message) {
log.info("[Service] - Sending Message over TCP Channel --> {}", message);
// Send message to producer here
camelContext.createProducerTemplate.send....
}
Пример проекта GitHub< /h2>
Я загрузил пример проекта на GitHub: https://github.com/rgiaviti/so-camel-netty4-tcp
Нарисуйте
Я использую:
- Spring Boot 1.5. 12;
- Apache Camel 2.21.0;
Подробнее здесь: https://stackoverflow.com/questions/500 ... -mode-usin
Мобильная версия