XMPP Component
The xmpp: component implements an XMPP (Jabber) transport.
URI format
The component supports both room based and private person-person conversations.
The component supports both producer and consumer (you can get messages from xmpp or send messages to xmpp). Consumer mode supports rooms starting from camel-1.5.0.
Options
| Name |
Description |
| room |
If room is specified then component will connect to MUC (Multi User Chat). Usually domain name for MUC is different from login domain. For example if you are superman@jabber.org and want to join "krypton" room then room url is krypton@conference.jabber.org. Note "conference" part.
Starting from camel-1.5.0 it is not required to provide full room JID. If room parameter does not contain "@" symbol then domain part will be discovered and added by Camel |
| user |
User name (without server name). If not specified then anonymous login attempt will be performed. |
| password |
Password |
| resource |
XMPP resource. The default is "Camel" |
| createAccount |
If "true" then an attempt to create an account will be made. Default is false |
| participant |
JID (Jabber ID) of person to receive messages. "room" parameter has precedence over "participant". |
| nickname |
Use nick when joining room. If room is specified and nickname is not then "user" will be used for nick |
Examples
User "superman" to join room krypton at jabber server with password "secret".
User "superman" to send messages to joker
Routing example in Java
from("timer:).
setBody(constant("I will win!\n Your Superman.")).
to("xmpp:);
Consumer configuration. Will write all messages from Joker into a queue "evil.talk".
from("xmpp:).
to("activemq:evil.talk");
Consumer configuration listening to a room messages (supported from camel-1.5.0)
from("xmpp:).
to("activemq:krypton.talk");
Room in short notation (no domain part; for camel-1.5.0+)
from("xmpp:).
to("activemq:krypton.talk");
See Also