Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Maven users will need to add the following dependency to their pom.xml for this component:

Code Block
xml
xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-xmpp</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

URI format

Code Block
languagetext

xmpp://[login@]hostname[:port][/participant][?Options]

...

You can append query options to the URI in the following format, ?option=value&option=value&...

Options

Wiki Markup
{div:class=confluenceTableSmall}
|| Name || Description ||
| {{room}} | If this option is specified, the component will connect to MUC (Multi User Chat). Usually, the domain name for MUC is different from the login domain. For example, if you are {{superman@jabber.org}} and want to join the {{krypton}} room, then the room URL is {{krypton@conference.jabber.org}}. Note the {{conference}} part.
It is not a requirement to provide the full room JID. If the {{room}} parameter does not contain the {{@}} symbol, the domain part will be discovered and added by Camel|
| {{user}} | User name (without server name). If not specified, anonymous login will be attempted. |
| {{password}} | Password. |
| {{resource}} | XMPP resource. The default is {{Camel}}. |
| {{createAccount}} | If {{true}}, 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 nickname when joining room. If room is specified and nickname is not, {{user}} will be used for the nickname. |
| {{serviceName}} | The name of the service you are connecting to. For Google Talk, this would be {{gmail.com}}. |
| {{testConnectionOnStartup}} | *Camel 2.11* Specifies whether to test the connection on startup. This is used to ensure that the XMPP client has a valid connection to the XMPP server when the route starts. Camel throws an exception on startup if a connection cannot be established. When this option is set to false, Camel will attempt to establish a "lazy" connection when needed by a producer, and will poll for a consumer connection until the connection is established.   Default is {{true}}. |
| {{connectionPollDelay}} | *Camel 2.11* The amount of time in seconds between polls to verify the health of the XMPP connection, or between attempts to establish an initial consumer connection. Camel will try to re-establish a connection if it has become inactive. Default is {{10 seconds}}.|
{div}

Headers and setting Subject or Language

...

User superman to join room krypton at jabber server with password, secret:

Code Block
languagetext

xmpp://superman@jabber.org/?room=krypton@conference.jabber.org&password=secret

User superman to send messages to joker:

Code Block
languagetext

xmpp://superman@jabber.org/joker@jabber.org?password=secret

Routing example in Java:

Code Block
languagejava

from("timer://kickoff?period=10000").
setBody(constant("I will win!\n Your Superman.")).
to("xmpp://superman@jabber.org/joker@jabber.org?password=secret");

Consumer configuration, which writes all messages from joker into the queue, evil.talk.

Code Block
languagejava

from("xmpp://superman@jabber.org/joker@jabber.org?password=secret").
to("activemq:evil.talk");

Consumer configuration, which listens to room messages:

Code Block
languagejava

from("xmpp://superman@jabber.org/?password=secret&room=krypton@conference.jabber.org").
to("activemq:krypton.talk");

Room in short notation (no domain part):

Code Block
languagejava

from("xmpp://superman@jabber.org/?password=secret&room=krypton").
to("activemq:krypton.talk");

When connecting to the Google Chat service, you'll need to specify the serviceName as well as your credentials:

...

Code Block
languagejava
from("direct:start").
  to("xmpp://talk.google.com:5222/touser@gmail.com?serviceName=gmail.com&user=fromuser&password=secret").
  to("mock:result");

 

Include Page
Endpoint See Also
Endpoint See Also