Может ли Apache Camel отправлять пакет присутствия / pubsub XMPP на конечную точку XMPP? - PullRequest
2 голосов
/ 05 сентября 2010

Мне нужно получить обновление, опубликованное в теме JMS, преобразовать его в пакет XMPP (пакет Presence или пакет PubSub) и направить его в конечную точку XMPP.

Я использую ActiveMQ в качестве JMS-провайдера и Apache Camel в качестве механизма маршрутизации. ниже приведен мой маршрут в Camel (для простоты я читаю из system.in вместо темы jms):

     from("stream:in?promptMessage=Enter something:").process( new Processor(){
        public void process(Exchange exchange) throws Exception {
                System.out.println("sending presence with message: " + exchange.getIn().getBody().toString());
                Presence p = new Presence(Type.available, exchange.getIn().getBody().toString(), 5, Mode.chat);
                exchange.getIn().setBody(p);
            }
            }).to("xmpp:user1@banl080161?password=pass1");

Идея состоит в том, что user1 @ banl080161 должен иметь возможность отправлять пакет присутствия обычного пользователя, имеющий статус, указанный в system.in. Я читаю из system.in, создаю пакет присутствия, устанавливаю этот пакет в теле обмена и отправляю это присутствие от имени user1 @ banl080161.

Проблема: ничего не отправляется на сервер XMPP, я использую PSI, чтобы увидеть пакеты, поступающие от user1 @ banl080161, user1 @ banl080161 точно подключен к сети, но пользовательское сообщение о присутствии не получено.

Можно ли делать такие вещи в Apache Camel?

1 Ответ

0 голосов
/ 03 октября 2010

Пожалуйста, не стесняйтесь создавать заявку на эту новую функцию для компонента camel-xmpp.

На этой веб-странице есть ссылка на систему отслеживания проблем: http://camel.apache.org/support

...