summaryrefslogtreecommitdiff
path: root/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java')
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java
index 66827b107e..3bc80d15c4 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/cpp/CppReceiver.java
@@ -19,22 +19,24 @@ package org.apache.qpid.messaging.cpp;
import org.apache.qpid.messaging.Message;
import org.apache.qpid.messaging.MessagingException;
-import org.apache.qpid.messaging.Receiver;
import org.apache.qpid.messaging.Session;
import org.apache.qpid.messaging.cpp.jni.NativeMessage;
import org.apache.qpid.messaging.cpp.jni.NativeReceiver;
+import org.apache.qpid.messaging.internal.ReceiverInternal;
-public class CppReceiver implements Receiver
+public class CppReceiver implements ReceiverInternal
{
- private CppSession _ssn;
+ private final CppSession _ssn;
private NativeReceiver _cppReceiver;
- private CppMessageFactory _msgFactory;
+ private final CppMessageFactory _msgFactory;
+ private final String _address;
- public CppReceiver(CppSession ssn, NativeReceiver cppReceiver) throws MessagingException
+ public CppReceiver(CppSession ssn, NativeReceiver cppReceiver, String address) throws MessagingException
{
_ssn = ssn;
_cppReceiver = cppReceiver;
_msgFactory = (CppMessageFactory)ssn.getConnection().getMessageFactory();
+ _address = address;
}
@Override
@@ -106,4 +108,10 @@ public class CppReceiver implements Receiver
_ssn.checkError();
return _ssn;
}
+
+ @Override
+ public void recreate() throws MessagingException
+ {
+ _cppReceiver = _ssn.getNativeSession().createReceiver(_address);
+ }
}