Я пытаюсь создать образец приложения, размещенного в «mina: tcp: // localhost: 9991», который отправляет очень простое сообщение серверу, размещенному на «mina: tcp: // localhost: 9990».Как отправить сообщение с помощью Apache Camel?
Теперь, по общему признанию, у меня есть некоторые проблемы с пониманием того, как это сделать. Мой первый подход заключался в создании класса Message, который имеет два поля: String order
и String host
. Тем не менее, я ужасно запутался в том, как это сделать.
Сначала я пытался следовать loadbalancer-пример основывая себя на ReportGenerator и создать класс MessageGenerator, которые могли бы создать сообщение и вернуть его:
Однако есть проблема, мне нужны параметры для создания моего сообщения, чего не происходит при создании отчета из примера:
//Message constructor
public Message(String order, String host){
//constructor stuff
}
Прочитав Camel in Action, я знаю, как использовать beans для вызова методов, которые не имеют параметров, однако я до сих пор не понимаю, как я должен использовать их для вызова метода с несколькими параметрами (я вынужден использовать процессоры?)
Тогда я понял, что, возможно, я немного усложняю ситуацию, и есть более простой способ отправки сообщений. Поэтому я попробовал другой подход, который привел к небольшому образцу кода, который не работает. Я создал отдельный вопрос по этому вопросу:
Очевидно, что я делаю что-то не так, и я не понимаю, что. Итак, у меня есть 2 вопроса:
- Мэннинга Camel in Action определяет Легкий способ и жесткий способ использовать бобы, но я не понимаю, легкий способ использования зерна с параметрами. Может ли кто-нибудь привести пример?
- Есть ли способ отправить сообщение, состоящее из нескольких полей в Camel (простой способ, без процессоров), который не включает использование bean-компонентов? Если да, то как?