本文整理汇总了Java中org.apache.qpid.proton.amqp.transport.ReceiverSettleMode类的典型用法代码示例。如果您正苦于以下问题:Java ReceiverSettleMode类的具体用法?Java ReceiverSettleMode怎么用?Java ReceiverSettleMode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ReceiverSettleMode类属于org.apache.qpid.proton.amqp.transport包,在下文中一共展示了ReceiverSettleMode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testEncodeDecodeTransfers
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Test
public void testEncodeDecodeTransfers() {
Transfer transfer = new Transfer();
transfer.setHandle(UnsignedInteger.ONE);
transfer.setDeliveryTag(new Binary(new byte[] {0, 1}));
transfer.setMessageFormat(UnsignedInteger.ZERO);
transfer.setDeliveryId(UnsignedInteger.valueOf(127));
transfer.setAborted(false);
transfer.setBatchable(true);
transfer.setRcvSettleMode(ReceiverSettleMode.SECOND);
encoder.writeObject(transfer);
buffer.clear();
final Transfer outputValue = (Transfer) decoder.readObject();
assertEquals(transfer.getHandle(), outputValue.getHandle());
assertEquals(transfer.getMessageFormat(), outputValue.getMessageFormat());
assertEquals(transfer.getDeliveryTag(), outputValue.getDeliveryTag());
assertEquals(transfer.getDeliveryId(), outputValue.getDeliveryId());
assertEquals(transfer.getAborted(), outputValue.getAborted());
assertEquals(transfer.getBatchable(), outputValue.getBatchable());
assertEquals(transfer.getRcvSettleMode(), outputValue.getRcvSettleMode());
}
示例2: testSkipValue
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Test
public void testSkipValue() {
Transfer transfer = new Transfer();
transfer.setHandle(UnsignedInteger.ONE);
transfer.setDeliveryTag(new Binary(new byte[] {0, 1}));
transfer.setMessageFormat(UnsignedInteger.ZERO);
transfer.setDeliveryId(UnsignedInteger.valueOf(127));
transfer.setAborted(false);
transfer.setBatchable(true);
transfer.setRcvSettleMode(ReceiverSettleMode.SECOND);
encoder.writeObject(transfer);
transfer.setHandle(UnsignedInteger.valueOf(2));
encoder.writeObject(transfer);
buffer.clear();
TypeConstructor<?> type = decoder.readConstructor();
assertEquals(Transfer.class, type.getTypeClass());
type.skipValue();
Transfer result = (Transfer) decoder.readObject();
assertEquals(UnsignedInteger.valueOf(2), result.getHandle());
}
示例3: doTestSenderSettlementModeIsHonored
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
public void doTestSenderSettlementModeIsHonored(SenderSettleMode settleMode) throws Exception {
AmqpClient client = createAmqpClient();
AmqpConnection connection = addConnection(client.connect());
AmqpSession session = connection.createSession();
AmqpReceiver receiver = session.createReceiver("queue://" + getTestName(), settleMode, ReceiverSettleMode.FIRST);
Queue queueView = getProxyToQueue(getQueueName());
assertNotNull(queueView);
assertEquals(0, queueView.getMessageCount());
assertEquals(1, server.getTotalConsumerCount());
assertEquals(settleMode, receiver.getEndpoint().getRemoteSenderSettleMode());
receiver.close();
connection.close();
}
示例4: doTestReceiverSettlementModeForcedToFirst
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
private void doTestReceiverSettlementModeForcedToFirst(ReceiverSettleMode modeToUse) throws Exception {
AmqpClient client = createAmqpClient();
AmqpConnection connection = addConnection(client.connect());
AmqpSession session = connection.createSession();
AmqpReceiver receiver = session.createReceiver("queue://" + getTestName(), SenderSettleMode.MIXED, modeToUse);
Queue queueView = getProxyToQueue(getQueueName());
assertNotNull(queueView);
assertEquals(0, queueView.getMessageCount());
assertEquals(1, server.getTotalConsumerCount());
assertEquals(ReceiverSettleMode.FIRST, receiver.getEndpoint().getRemoteReceiverSettleMode());
receiver.close();
connection.close();
}
示例5: doTestReceiverSettlementModeForcedToFirst
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
private void doTestReceiverSettlementModeForcedToFirst(ReceiverSettleMode modeToUse) throws Exception {
AmqpClient client = createAmqpClient();
AmqpConnection connection = addConnection(client.connect());
AmqpSession session = connection.createSession();
AmqpSender sender = session.createSender("queue://" + getTestName(), SenderSettleMode.UNSETTLED, modeToUse);
Queue queueView = getProxyToQueue(getQueueName());
assertNotNull(queueView);
assertEquals(0, queueView.getMessageCount());
assertEquals(ReceiverSettleMode.FIRST, sender.getEndpoint().getRemoteReceiverSettleMode());
sender.close();
connection.close();
}
示例6: doOpen
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Override
protected void doOpen() {
Coordinator coordinator = new Coordinator();
coordinator.setCapabilities(TxnCapability.LOCAL_TXN);
Source source = new Source();
String coordinatorName = "qpid-jms:coordinator:" + session.getConnection().getConnectionId();
Sender sender = session.getEndpoint().sender(coordinatorName);
sender.setSource(source);
sender.setTarget(coordinator);
sender.setSenderSettleMode(SenderSettleMode.UNSETTLED);
sender.setReceiverSettleMode(ReceiverSettleMode.FIRST);
setEndpoint(sender);
super.doOpen();
}
示例7: createSender
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
/**
* Create a sender instance using the given address
*
* @param address
* the address to which the sender will produce its messages.
* @param senderSettlementMode
* controls the settlement mode used by the created Sender
* @param receiverSettlementMode
* controls the desired settlement mode used by the remote Receiver
*
* @return a newly created sender that is ready for use.
*
* @throws Exception if an error occurs while creating the sender.
*/
public AmqpSender createSender(final String address, final SenderSettleMode senderMode, ReceiverSettleMode receiverMode) throws Exception {
checkClosed();
final AmqpSender sender = new AmqpSender(AmqpSession.this, address, getNextSenderId(), senderMode, receiverMode);
final ClientFuture request = new ClientFuture();
connection.getScheduler().execute(new Runnable() {
@Override
public void run() {
checkClosed();
sender.setStateInspector(getStateInspector());
sender.open(request);
pumpToProtonTransport(request);
}
});
request.sync();
return sender;
}
示例8: createReceiver
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
/**
* Create a receiver instance using the given address
*
* @param address
* the address to which the receiver will subscribe for its messages.
* @param senderSettlementMode
* controls the desired settlement mode used by the remote Sender
* @param receiverSettlementMode
* controls the settlement mode used by the created Receiver
*
* @return a newly created receiver that is ready for use.
*
* @throws Exception if an error occurs while creating the receiver.
*/
public AmqpReceiver createReceiver(String address, SenderSettleMode senderMode, ReceiverSettleMode receiverMode) throws Exception {
checkClosed();
final ClientFuture request = new ClientFuture();
final AmqpReceiver receiver = new AmqpReceiver(AmqpSession.this, address, getNextReceiverId(), senderMode, receiverMode);
connection.getScheduler().execute(new Runnable() {
@Override
public void run() {
checkClosed();
receiver.setStateInspector(getStateInspector());
receiver.open(request);
pumpToProtonTransport(request);
}
});
request.sync();
return receiver;
}
示例9: settle
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
void settle(long sequence, boolean cumilative, boolean write) {
long count = cumilative ? _lastSettled.get() : sequence;
long end = sequence;
while (count <= end) {
Delivery d = _unsettled.get(count);
if (d != null) {
if (!d.isSettled() && d.getLink().getReceiverSettleMode() == ReceiverSettleMode.FIRST) {
d.settle();
((IncomingLinkImpl) d.getLink().getContext()).decrementUnsettledCount();
_unsettled.remove(count);
}
}
count++;
}
_lastSettled.set(end);
_conn.write();
}
示例10: setQoS
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Override
public T setQoS(ProtonQoS qos) {
if (qos == null) {
throw new IllegalArgumentException("Value must be specified");
}
switch (qos) {
case AT_MOST_ONCE:
link.setSenderSettleMode(SenderSettleMode.SETTLED);
link.setReceiverSettleMode(ReceiverSettleMode.FIRST);
break;
case AT_LEAST_ONCE:
link.setSenderSettleMode(SenderSettleMode.UNSETTLED);
link.setReceiverSettleMode(ReceiverSettleMode.FIRST);
break;
}
return self();
}
示例11: settle
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
void settle(InboundMessage msg, boolean cumilative, boolean write) throws NetworkException
{
long count = cumilative ? _lastSettled.get() : msg.getSequence();
long end = msg.getSequence();
while (count <= end)
{
Delivery d = _unsettled.get(count);
if (d != null)
{
if (!d.isSettled() && d.getLink().getReceiverSettleMode() == ReceiverSettleMode.FIRST)
{
d.settle();
((InboundLinkImpl) d.getLink().getContext()).decrementUnsettledCount();
_unsettled.remove(count);
}
}
count++;
}
_lastSettled.set(end);
_conn.write();
}
示例12: createEndpoint
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Override
protected Sender createEndpoint(JmsSessionInfo resourceInfo) {
Coordinator coordinator = new Coordinator();
coordinator.setCapabilities(TxnCapability.LOCAL_TXN);
Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL };
Source source = new Source();
source.setOutcomes(outcomes);
String coordinatorName = "qpid-jms:coordinator:" + resourceInfo.getId().toString();
Sender sender = getParent().getSession().getEndpoint().sender(coordinatorName);
sender.setSource(source);
sender.setTarget(coordinator);
sender.setSenderSettleMode(SenderSettleMode.UNSETTLED);
sender.setReceiverSettleMode(ReceiverSettleMode.FIRST);
return sender;
}
示例13: doOpen
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Override
protected void doOpen() {
String sourceAddress = info.getName();
if (info.isQueue()) {
sourceAddress = connection.getTempQueuePrefix() + sourceAddress;
} else {
sourceAddress = connection.getTempQueuePrefix() + sourceAddress;
}
Source source = new Source();
source.setAddress(sourceAddress);
Target target = new Target();
target.setDynamic(true);
String senderName = sourceAddress;
endpoint = session.getProtonSession().sender(senderName);
endpoint.setSource(source);
endpoint.setTarget(target);
endpoint.setSenderSettleMode(SenderSettleMode.UNSETTLED);
endpoint.setReceiverSettleMode(ReceiverSettleMode.FIRST);
this.connection.addTemporaryDestination(this);
}
示例14: doOpen
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
@Override
protected void doOpen() {
JmsDestination destination = info.getDestination();
String destnationName = session.getQualifiedName(destination);
String sourceAddress = getProducerId().toString();
Source source = new Source();
source.setAddress(sourceAddress);
Target target = new Target();
target.setAddress(destnationName);
String senderName = sourceAddress + ":" + destnationName != null ? destnationName : "Anonymous";
endpoint = session.getProtonSession().sender(senderName);
endpoint.setSource(source);
endpoint.setTarget(target);
if (presettle) {
endpoint.setSenderSettleMode(SenderSettleMode.SETTLED);
} else {
endpoint.setSenderSettleMode(SenderSettleMode.UNSETTLED);
}
endpoint.setReceiverSettleMode(ReceiverSettleMode.FIRST);
}
示例15: writeElement
import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode; //导入依赖的package包/类
private void writeElement(Transfer transfer, int index) {
switch (index) {
case 0:
getEncoder().writeUnsignedInteger(transfer.getHandle());
break;
case 1:
getEncoder().writeUnsignedInteger(transfer.getDeliveryId());
break;
case 2:
getEncoder().writeBinary(transfer.getDeliveryTag());
break;
case 3:
getEncoder().writeUnsignedInteger(transfer.getMessageFormat());
break;
case 4:
getEncoder().writeBoolean(transfer.getSettled());
break;
case 5:
getEncoder().writeBoolean(transfer.getMore());
break;
case 6:
ReceiverSettleMode rcvSettleMode = transfer.getRcvSettleMode();
getEncoder().writeObject(rcvSettleMode == null ? null : rcvSettleMode.getValue());
break;
case 7:
getEncoder().writeObject(transfer.getState());
break;
case 8:
getEncoder().writeBoolean(transfer.getResume());
break;
case 9:
getEncoder().writeBoolean(transfer.getAborted());
break;
case 10:
getEncoder().writeBoolean(transfer.getBatchable());
break;
default:
throw new IllegalArgumentException("Unknown Transfer value index: " + index);
}
}