You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2016/12/22 10:19:33 UTC
camel git commit: [CAMEL-10544] Upgrade to smack 4.1
Repository: camel
Updated Branches:
refs/heads/CAMEL-10544 [created] 67e05430a
[CAMEL-10544] Upgrade to smack 4.1
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/67e05430
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/67e05430
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/67e05430
Branch: refs/heads/CAMEL-10544
Commit: 67e05430a60111cde7fac9a9b8f70b5c7745a9a5
Parents: b13b2fb
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Thu Dec 22 10:16:58 2016 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Thu Dec 22 10:16:58 2016 +0100
----------------------------------------------------------------------
components/camel-xmpp/pom.xml | 10 ++++
.../camel/component/xmpp/XmppBinding.java | 22 ++++-----
.../camel/component/xmpp/XmppConsumer.java | 50 ++++++++++++--------
.../component/xmpp/XmppDirectProducer.java | 18 +++----
.../camel/component/xmpp/XmppEndpoint.java | 42 ++++++++--------
.../component/xmpp/XmppGroupChatProducer.java | 8 ++--
.../apache/camel/component/xmpp/XmppLogger.java | 8 ++--
.../camel/component/xmpp/XmppMessage.java | 10 ++--
.../component/xmpp/XmppPrivateChatProducer.java | 16 +++----
.../component/xmpp/XmppPubSubProducer.java | 6 +--
parent/pom.xml | 2 +-
11 files changed, 110 insertions(+), 82 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/pom.xml b/components/camel-xmpp/pom.xml
index ef497bd..89c9f13 100644
--- a/components/camel-xmpp/pom.xml
+++ b/components/camel-xmpp/pom.xml
@@ -47,11 +47,21 @@
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
+ <artifactId>smack-java7</artifactId>
+ <version>${smack-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-core</artifactId>
<version>${smack-version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
+ <artifactId>smack-im</artifactId>
+ <version>${smack-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-extensions</artifactId>
<version>${smack-version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
index b33bdbb..503a916 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
@@ -24,10 +24,10 @@ import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultHeaderFilterStrategy;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.util.ObjectHelper;
-import org.jivesoftware.smack.packet.DefaultPacketExtension;
+import org.jivesoftware.smack.packet.DefaultExtensionElement;
+import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Packet;
-import org.jivesoftware.smack.packet.PacketExtension;
+import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smackx.jiveproperties.JivePropertiesManager;
import org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension;
import org.jivesoftware.smackx.pubsub.packet.PubSub;
@@ -94,7 +94,7 @@ public class XmppBinding {
/**
* Populates the given XMPP packet from the inbound exchange
*/
- public void populateXmppPacket(Packet packet, Exchange exchange) {
+ public void populateXmppPacket(Stanza packet, Exchange exchange) {
Set<Map.Entry<String, Object>> entries = exchange.getIn().getHeaders().entrySet();
for (Map.Entry<String, Object> entry : entries) {
String name = entry.getKey();
@@ -118,7 +118,7 @@ public class XmppBinding {
/**
* Extracts the body from the XMPP message
*/
- public Object extractBodyFromXmpp(Exchange exchange, Packet xmppPacket) {
+ public Object extractBodyFromXmpp(Exchange exchange, Stanza xmppPacket) {
return (xmppPacket instanceof Message) ? getMessageBody((Message) xmppPacket) : xmppPacket;
}
@@ -131,15 +131,15 @@ public class XmppBinding {
return messageBody;
}
- public Map<String, Object> extractHeadersFromXmpp(Packet xmppPacket, Exchange exchange) {
+ public Map<String, Object> extractHeadersFromXmpp(Stanza xmppPacket, Exchange exchange) {
Map<String, Object> answer = new HashMap<String, Object>();
- PacketExtension jpe = xmppPacket.getExtension(JivePropertiesExtension.NAMESPACE);
+ ExtensionElement jpe = xmppPacket.getExtension(JivePropertiesExtension.NAMESPACE);
if (jpe != null && jpe instanceof JivePropertiesExtension) {
extractHeadersFrom((JivePropertiesExtension)jpe, exchange, answer);
}
- if (jpe != null && jpe instanceof DefaultPacketExtension) {
- extractHeadersFrom((DefaultPacketExtension)jpe, exchange, answer);
+ if (jpe != null && jpe instanceof DefaultExtensionElement) {
+ extractHeadersFrom((DefaultExtensionElement)jpe, exchange, answer);
}
if (xmppPacket instanceof Message) {
@@ -152,7 +152,7 @@ public class XmppBinding {
answer.put(XmppConstants.MESSAGE_TYPE, pubsubPacket.getType());
}
answer.put(XmppConstants.FROM, xmppPacket.getFrom());
- answer.put(XmppConstants.PACKET_ID, xmppPacket.getPacketID());
+ answer.put(XmppConstants.PACKET_ID, xmppPacket.getStanzaId());
answer.put(XmppConstants.TO, xmppPacket.getTo());
return answer;
@@ -167,7 +167,7 @@ public class XmppBinding {
}
}
- private void extractHeadersFrom(DefaultPacketExtension jpe, Exchange exchange, Map<String, Object> answer) {
+ private void extractHeadersFrom(DefaultExtensionElement jpe, Exchange exchange, Map<String, Object> answer) {
for (String name : jpe.getNames()) {
Object value = jpe.getValue(name);
if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) {
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
index 5bc0d35..a818396 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
@@ -23,37 +23,40 @@ import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.util.URISupport;
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.ChatManager;
-import org.jivesoftware.smack.ChatManagerListener;
import org.jivesoftware.smack.MessageListener;
-import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.SmackConfiguration;
import org.jivesoftware.smack.SmackException;
-import org.jivesoftware.smack.XMPPConnection;
+import org.jivesoftware.smack.StanzaListener;
+import org.jivesoftware.smack.chat.Chat;
+import org.jivesoftware.smack.chat.ChatManager;
+import org.jivesoftware.smack.chat.ChatManagerListener;
+import org.jivesoftware.smack.chat.ChatMessageListener;
import org.jivesoftware.smack.filter.AndFilter;
import org.jivesoftware.smack.filter.MessageTypeFilter;
import org.jivesoftware.smack.filter.OrFilter;
-import org.jivesoftware.smack.filter.PacketTypeFilter;
+import org.jivesoftware.smack.filter.StanzaTypeFilter;
import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Message.Type;
-import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;
+import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smackx.muc.DiscussionHistory;
+import org.jivesoftware.smackx.muc.MUCNotJoinedException;
import org.jivesoftware.smackx.muc.MultiUserChat;
+import org.jivesoftware.smackx.muc.MultiUserChatManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* A {@link org.apache.camel.Consumer Consumer} which listens to XMPP packets
*/
-public class XmppConsumer extends DefaultConsumer implements PacketListener, MessageListener, ChatManagerListener {
+public class XmppConsumer extends DefaultConsumer implements StanzaListener, ChatMessageListener, MessageListener,
+ ChatManagerListener {
private static final Logger LOG = LoggerFactory.getLogger(XmppConsumer.class);
private final XmppEndpoint endpoint;
private MultiUserChat muc;
private Chat privateChat;
private ChatManager chatManager;
- private XMPPConnection connection;
+ private XMPPTCPConnection connection;
private ScheduledExecutorService scheduledExecutor;
public XmppConsumer(XmppEndpoint endpoint, Processor processor) {
@@ -84,9 +87,9 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes
OrFilter pubsubPacketFilter = new OrFilter();
if (endpoint.isPubsub()) {
//xep-0060: pubsub#notification_type can be 'headline' or 'normal'
- pubsubPacketFilter.addFilter(new MessageTypeFilter(Type.headline));
- pubsubPacketFilter.addFilter(new MessageTypeFilter(Type.normal));
- connection.addPacketListener(this, pubsubPacketFilter);
+ pubsubPacketFilter.addFilter(MessageTypeFilter.HEADLINE);
+ pubsubPacketFilter.addFilter(MessageTypeFilter.NORMAL);
+ connection.addAsyncStanzaListener(this, pubsubPacketFilter);
}
if (endpoint.getRoom() == null) {
@@ -107,10 +110,10 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes
// add the presence packet listener to the connection so we only get packets that concerns us
// we must add the listener before creating the muc
- final AndFilter packetFilter = new AndFilter(new PacketTypeFilter(Presence.class));
- connection.addPacketListener(this, packetFilter);
-
- muc = new MultiUserChat(connection, endpoint.resolveRoom(connection));
+ final AndFilter packetFilter = new AndFilter(new StanzaTypeFilter(Presence.class));
+ connection.addAsyncStanzaListener(this, packetFilter);
+ MultiUserChatManager mucm = MultiUserChatManager.getInstanceFor(connection);
+ muc = mucm.getMultiUserChat(endpoint.resolveRoom(connection));
muc.addMessageListener(this);
DiscussionHistory history = new DiscussionHistory();
history.setMaxChars(0); // we do not want any historical messages
@@ -207,7 +210,7 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes
}
}
- public void processPacket(Packet packet) {
+ public void processPacket(Stanza packet) {
if (packet instanceof Message) {
processMessage(null, (Message) packet);
}
@@ -232,9 +235,18 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes
// pollMessage is a non blocking method
// (see http://issues.igniterealtime.org/browse/SMACK-129)
if (muc != null) {
- muc.pollMessage();
+ try {
+ muc.pollMessage();
+ } catch (MUCNotJoinedException e) {
+ LOG.warn(e.getMessage(), e);
+ }
}
}
}
+ @Override
+ public void processMessage(Message message) {
+ processMessage(null, message);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java
index f655a4b..96acde4 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java
@@ -19,9 +19,9 @@ package org.apache.camel.component.xmpp;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.impl.DefaultProducer;
-import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.Packet;
+import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,7 +31,7 @@ public class XmppDirectProducer extends DefaultProducer {
private final XmppEndpoint endpoint;
- private XMPPConnection connection;
+ private XMPPTCPConnection connection;
public XmppDirectProducer(XmppEndpoint endpoint) {
super(endpoint);
@@ -61,13 +61,13 @@ public class XmppDirectProducer extends DefaultProducer {
try {
Object body = exchange.getIn().getBody();
- if (body instanceof Packet) {
- connection.sendPacket((Packet) body);
+ if (body instanceof Stanza) {
+ connection.sendStanza((Stanza) body);
- } else if (body instanceof Packet[]) {
- final Packet[] packets = (Packet[]) body;
- for (final Packet packet : packets) {
- connection.sendPacket(packet);
+ } else if (body instanceof Stanza[]) {
+ final Stanza[] packets = (Stanza[]) body;
+ for (final Stanza packet : packets) {
+ connection.sendStanza(packet);
}
} else {
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
index 949af61..6b7920a 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
@@ -31,18 +31,20 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.ObjectHelper;
-import org.jivesoftware.smack.AccountManager;
+import org.apache.camel.util.StringHelper;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
-import org.jivesoftware.smack.filter.PacketFilter;
-import org.jivesoftware.smack.packet.Packet;
+import org.jivesoftware.smack.filter.StanzaFilter;
+import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.packet.XMPPError;
+import org.jivesoftware.smack.packet.XMPPError.Condition;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
-import org.jivesoftware.smackx.muc.MultiUserChat;
+import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
+import org.jivesoftware.smackx.iqregister.AccountManager;
+import org.jivesoftware.smackx.muc.MultiUserChatManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -54,7 +56,7 @@ import org.slf4j.LoggerFactory;
public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
private static final Logger LOG = LoggerFactory.getLogger(XmppEndpoint.class);
- private volatile XMPPConnection connection;
+ private volatile XMPPTCPConnection connection;
private XmppBinding binding;
@UriPath @Metadata(required = "true")
@@ -90,7 +92,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
@UriParam(label = "filter")
private HeaderFilterStrategy headerFilterStrategy = new DefaultHeaderFilterStrategy();
@UriParam(label = "advanced")
- private ConnectionConfiguration connectionConfig;
+ private XMPPTCPConnectionConfiguration connectionConfig;
public XmppEndpoint() {
}
@@ -143,7 +145,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
return answer;
}
- public Exchange createExchange(Packet packet) {
+ public Exchange createExchange(Stanza packet) {
Exchange exchange = super.createExchange();
exchange.setProperty(Exchange.BINDING, getBinding());
exchange.setIn(new XmppMessage(packet));
@@ -159,7 +161,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
return true;
}
- public synchronized XMPPConnection createConnection() throws XMPPException, SmackException, IOException {
+ public synchronized XMPPTCPConnection createConnection() throws XMPPException, SmackException, IOException {
if (connection != null && connection.isConnected()) {
// use existing working connection
return connection;
@@ -169,17 +171,19 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
connection = null;
LOG.trace("Creating new connection ...");
- XMPPConnection newConnection = createConnectionInternal();
+ XMPPTCPConnection newConnection = createConnectionInternal();
newConnection.connect();
- newConnection.addPacketListener(new XmppLogger("INBOUND"), new PacketFilter() {
- public boolean accept(Packet packet) {
+ newConnection.addAsyncStanzaListener(new XmppLogger("INBOUND"), new StanzaFilter() {
+
+ public boolean accept(Stanza stanza) {
return true;
}
});
- newConnection.addPacketSendingListener(new XmppLogger("OUTBOUND"), new PacketFilter() {
- public boolean accept(Packet packet) {
+ newConnection.addAsyncStanzaListener(new XmppLogger("OUTBOUND"), new StanzaFilter() {
+
+ public boolean accept(Stanza stanza) {
return true;
}
});
@@ -229,7 +233,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
port = 5222;
}
String sName = getServiceName() == null ? host : getServiceName();
- ConnectionConfiguration conf = new ConnectionConfiguration(host, port, sName);
+ XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder().setHost(host).setPort(port).setServiceName(sName).build();
return new XMPPTCPConnection(conf);
}
@@ -238,16 +242,16 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
* return fully qualified JID for the room as room@conference.server.domain
*/
public String resolveRoom(XMPPConnection connection) throws XMPPException, SmackException {
- ObjectHelper.notEmpty(room, "room");
+ StringHelper.notEmpty(room, "room");
if (room.indexOf('@', 0) != -1) {
return room;
}
- Iterator<String> iterator = MultiUserChat.getServiceNames(connection).iterator();
+ Iterator<String> iterator = MultiUserChatManager.getInstanceFor(connection).getServiceNames().iterator();
if (!iterator.hasNext()) {
throw new XMPPErrorException("Cannot find Multi User Chat service",
- new XMPPError(new XMPPError.Condition("Cannot find Multi User Chat service on connection: " + getConnectionMessage(connection))));
+ new XMPPError(Condition.item_not_found));
}
String chatServer = iterator.next();
@@ -430,7 +434,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
/**
* To use an existing connection configuration
*/
- public void setConnectionConfig(ConnectionConfiguration connectionConfig) {
+ public void setConnectionConfig(XMPPTCPConnectionConfiguration connectionConfig) {
this.connectionConfig = connectionConfig;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
index 1b2bf63..3f82a7c 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
@@ -23,11 +23,12 @@ import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.impl.DefaultProducer;
import org.jivesoftware.smack.SmackConfiguration;
import org.jivesoftware.smack.SmackException;
-import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smackx.muc.DiscussionHistory;
import org.jivesoftware.smackx.muc.MultiUserChat;
+import org.jivesoftware.smackx.muc.MultiUserChatManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,7 +38,7 @@ import org.slf4j.LoggerFactory;
public class XmppGroupChatProducer extends DefaultProducer {
private static final Logger LOG = LoggerFactory.getLogger(XmppGroupChatProducer.class);
private final XmppEndpoint endpoint;
- private XMPPConnection connection;
+ private XMPPTCPConnection connection;
private MultiUserChat chat;
private String room;
@@ -121,7 +122,8 @@ public class XmppGroupChatProducer extends DefaultProducer {
protected synchronized void initializeChat() throws XMPPException, SmackException {
if (chat == null) {
room = endpoint.resolveRoom(connection);
- chat = new MultiUserChat(connection, room);
+ MultiUserChatManager chatManager = MultiUserChatManager.getInstanceFor(connection);
+ chat = chatManager.getMultiUserChat(room);
DiscussionHistory history = new DiscussionHistory();
history.setMaxChars(0); // we do not want any historical messages
chat.join(endpoint.getNickname(), null, history, SmackConfiguration.getDefaultPacketReplyTimeout());
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
index fa53ca6..79addcf 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
@@ -16,12 +16,12 @@
*/
package org.apache.camel.component.xmpp;
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.packet.Packet;
+import org.jivesoftware.smack.StanzaListener;
+import org.jivesoftware.smack.packet.Stanza;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class XmppLogger implements PacketListener {
+public class XmppLogger implements StanzaListener {
private static final Logger LOG = LoggerFactory.getLogger(XmppLogger.class);
private String direction;
@@ -30,7 +30,7 @@ public class XmppLogger implements PacketListener {
this.direction = direction;
}
- public void processPacket(Packet packet) {
+ public void processPacket(Stanza packet) {
if (LOG.isDebugEnabled()) {
LOG.debug("{} : {}", direction, packet.toXML());
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
index 9cb62bd..79dcd1d 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
@@ -21,13 +21,13 @@ import java.util.Map;
import org.apache.camel.impl.DefaultMessage;
import org.apache.camel.util.ExchangeHelper;
import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Packet;
+import org.jivesoftware.smack.packet.Stanza;
/**
* Represents a {@link org.apache.camel.Message} for working with XMPP
*/
public class XmppMessage extends DefaultMessage {
- private Packet xmppPacket;
+ private Stanza xmppPacket;
public XmppMessage() {
this(new Message());
@@ -37,7 +37,7 @@ public class XmppMessage extends DefaultMessage {
this.xmppPacket = jmsMessage;
}
- public XmppMessage(Packet jmsMessage) {
+ public XmppMessage(Stanza jmsMessage) {
this.xmppPacket = jmsMessage;
}
@@ -64,11 +64,11 @@ public class XmppMessage extends DefaultMessage {
/**
* Returns the underlying XMPP packet
*/
- public Packet getXmppPacket() {
+ public Stanza getXmppPacket() {
return xmppPacket;
}
- public void setXmppPacket(Packet xmppPacket) {
+ public void setXmppPacket(Stanza xmppPacket) {
this.xmppPacket = xmppPacket;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
index 2b59fe3..303f4b7 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
@@ -21,14 +21,14 @@ import java.io.IOException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.util.ObjectHelper;
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.ChatManager;
-import org.jivesoftware.smack.MessageListener;
+import org.apache.camel.util.StringHelper;
import org.jivesoftware.smack.SmackException;
-import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
+import org.jivesoftware.smack.chat.Chat;
+import org.jivesoftware.smack.chat.ChatManager;
+import org.jivesoftware.smack.chat.ChatMessageListener;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,14 +38,14 @@ import org.slf4j.LoggerFactory;
public class XmppPrivateChatProducer extends DefaultProducer {
private static final Logger LOG = LoggerFactory.getLogger(XmppPrivateChatProducer.class);
private final XmppEndpoint endpoint;
- private XMPPConnection connection;
+ private XMPPTCPConnection connection;
private final String participant;
public XmppPrivateChatProducer(XmppEndpoint endpoint, String participant) {
super(endpoint);
this.endpoint = endpoint;
this.participant = participant;
- ObjectHelper.notEmpty(participant, "participant");
+ StringHelper.notEmpty(participant, "participant");
LOG.debug("Creating XmppPrivateChatProducer to participant {}", participant);
}
@@ -104,7 +104,7 @@ public class XmppPrivateChatProducer extends DefaultProducer {
if (LOG.isTraceEnabled()) {
LOG.trace("Creating new chat instance with thread ID {}", thread);
}
- chat = chatManager.createChat(participant, thread, new MessageListener() {
+ chat = chatManager.createChat(participant, thread, new ChatMessageListener() {
public void processMessage(Chat chat, Message message) {
// not here to do conversation
if (LOG.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java
index 619f28d..ae568fa 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.xmpp;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.impl.DefaultProducer;
-import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
+import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smackx.pubsub.packet.PubSub;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
public class XmppPubSubProducer extends DefaultProducer {
private static final transient Logger LOG = LoggerFactory.getLogger(XmppPrivateChatProducer.class);
private final XmppEndpoint endpoint;
- private XMPPConnection connection;
+ private XMPPTCPConnection connection;
public XmppPubSubProducer(XmppEndpoint endpoint) {
super(endpoint);
@@ -60,7 +60,7 @@ public class XmppPubSubProducer extends DefaultProducer {
PubSub pubsubpacket = (PubSub) body;
endpoint.getBinding().populateXmppPacket(pubsubpacket, exchange);
exchange.getIn().setHeader(XmppConstants.DOC_HEADER, pubsubpacket);
- connection.sendPacket(pubsubpacket);
+ connection.sendStanza(pubsubpacket);
} else {
throw new Exception("Message does not contain a pubsub packet");
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index f3eba30..7193624 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -537,7 +537,7 @@
<sip-api-version>1.1</sip-api-version>
<slf4j-api-version>1.7.21</slf4j-api-version>
<slf4j-version>1.7.21</slf4j-version>
- <smack-version>4.0.7</smack-version>
+ <smack-version>4.1.9</smack-version>
<snakeyaml-version>1.17</snakeyaml-version>
<snappy-version>1.1.2.6</snappy-version>
<snmp4j-version>2.3.4_1</snmp4j-version>