Java Code Examples for org.apache.qpid.proton.amqp.messaging.Source#setOutcomes()
The following examples show how to use
org.apache.qpid.proton.amqp.messaging.Source#setOutcomes() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AmqpTransactionCoordinatorBuilder.java From qpid-jms with Apache License 2.0 | 6 votes |
@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; }
Example 2
Source File: AmqpReceiver.java From activemq-artemis with Apache License 2.0 | 5 votes |
protected void configureSource(Source source) { Map<Symbol, DescribedType> filters = new HashMap<>(); Symbol[] outcomes = new Symbol[] {Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL}; if (getSubscriptionName() != null && !getSubscriptionName().isEmpty()) { source.setExpiryPolicy(TerminusExpiryPolicy.NEVER); source.setDurable(TerminusDurability.UNSETTLED_STATE); source.setDistributionMode(COPY); } else { source.setDurable(TerminusDurability.NONE); source.setExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH); } source.setOutcomes(outcomes); Modified modified = new Modified(); modified.setDeliveryFailed(true); modified.setUndeliverableHere(false); source.setDefaultOutcome(modified); if (isNoLocal()) { filters.put(NO_LOCAL_NAME, AmqpNoLocalFilter.NO_LOCAL); } if (getSelector() != null && !getSelector().trim().equals("")) { filters.put(JMS_SELECTOR_NAME, new AmqpJmsSelectorFilter(getSelector())); } if (!filters.isEmpty()) { source.setFilter(filters); } }
Example 3
Source File: ProtonSessionImpl.java From vertx-proton with Apache License 2.0 | 5 votes |
@Override public ProtonReceiver createReceiver(String address, ProtonLinkOptions receiverOptions) { Receiver receiver = session.receiver(getOrCreateLinkName(receiverOptions)); Symbol[] outcomes = new Symbol[] { Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL }; Source source = new Source(); source.setAddress(address); source.setOutcomes(outcomes); source.setDefaultOutcome(Released.getInstance()); if(receiverOptions.isDynamic()) { source.setDynamic(true); } Target target = new Target(); receiver.setSource(source); receiver.setTarget(target); ProtonReceiverImpl r = new ProtonReceiverImpl(receiver); r.openHandler((result) -> { LOG.trace("Receiver open completed"); }); r.closeHandler((result) -> { if (result.succeeded()) { LOG.trace("Receiver closed"); } else { LOG.warn("Receiver closed with error", result.cause()); } }); // Default to at-least-once r.setQoS(ProtonQoS.AT_LEAST_ONCE); return r; }
Example 4
Source File: ProtonSessionImpl.java From vertx-proton with Apache License 2.0 | 5 votes |
@Override public ProtonSender createSender(String address, ProtonLinkOptions senderOptions) { Sender sender = session.sender(getOrCreateLinkName(senderOptions)); Symbol[] outcomes = new Symbol[] { Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL }; Source source = new Source(); source.setOutcomes(outcomes); Target target = new Target(); target.setAddress(address); if(senderOptions.isDynamic()) { target.setDynamic(true); } sender.setSource(source); sender.setTarget(target); ProtonSenderImpl s = new ProtonSenderImpl(sender); if (address == null) { s.setAnonymousSender(true); } s.openHandler((result) -> { LOG.trace("Sender open completed"); }); s.closeHandler((result) -> { if (result.succeeded()) { LOG.trace("Sender closed"); } else { LOG.warn("Sender closed with error", result.cause()); } }); // Default to at-least-once s.setQoS(ProtonQoS.AT_LEAST_ONCE); return s; }
Example 5
Source File: AmqpProducerBuilder.java From qpid-jms with Apache License 2.0 | 5 votes |
@Override protected Sender createEndpoint(JmsProducerInfo resourceInfo) { JmsDestination destination = resourceInfo.getDestination(); AmqpConnection connection = getParent().getConnection(); String targetAddress = AmqpDestinationHelper.getDestinationAddress(destination, connection); Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL }; String sourceAddress = resourceInfo.getId().toString(); Source source = new Source(); source.setAddress(sourceAddress); source.setOutcomes(outcomes); // TODO: default outcome. Accepted normally, Rejected for transaction controller? Target target = new Target(); target.setAddress(targetAddress); Symbol typeCapability = AmqpDestinationHelper.toTypeCapability(destination); if (typeCapability != null) { target.setCapabilities(typeCapability); } String senderName = "qpid-jms:sender:" + sourceAddress + ":" + targetAddress; Sender sender = getParent().getEndpoint().sender(senderName); sender.setSource(source); sender.setTarget(target); if (resourceInfo.isPresettle()) { sender.setSenderSettleMode(SenderSettleMode.SETTLED); } else { sender.setSenderSettleMode(SenderSettleMode.UNSETTLED); } sender.setReceiverSettleMode(ReceiverSettleMode.FIRST); if (!connection.getProperties().isDelayedDeliverySupported()) { validateDelayedDeliveryLinkCapability = true; sender.setDesiredCapabilities(new Symbol[] { AmqpSupport.DELAYED_DELIVERY }); } return sender; }
Example 6
Source File: SourceType.java From qpid-proton-j with Apache License 2.0 | 4 votes |
public Source newInstance(Object described) { List l = (List) described; Source o = new Source(); switch(11 - l.size()) { case 0: Object val0 = l.get( 10 ); if( val0 == null || val0.getClass().isArray() ) { o.setCapabilities( (Symbol[]) val0 ); } else { o.setCapabilities( (Symbol) val0 ); } case 1: Object val1 = l.get( 9 ); if( val1 == null || val1.getClass().isArray() ) { o.setOutcomes( (Symbol[]) val1 ); } else { o.setOutcomes( (Symbol) val1 ); } case 2: o.setDefaultOutcome( (Outcome) l.get( 8 ) ); case 3: o.setFilter( (Map) l.get( 7 ) ); case 4: o.setDistributionMode( (Symbol) l.get( 6 ) ); case 5: o.setDynamicNodeProperties( (Map) l.get( 5 ) ); case 6: Boolean dynamic = (Boolean) l.get(4); o.setDynamic(dynamic == null ? false : dynamic); case 7: UnsignedInteger timeout = (UnsignedInteger) l.get(3); o.setTimeout(timeout == null ? UnsignedInteger.ZERO : timeout); case 8: Symbol expiryPolicy = (Symbol) l.get(2); o.setExpiryPolicy(expiryPolicy == null ? TerminusExpiryPolicy.SESSION_END : TerminusExpiryPolicy.valueOf(expiryPolicy)); case 9: UnsignedInteger durable = (UnsignedInteger) l.get(1); o.setDurable(durable == null ? TerminusDurability.NONE : TerminusDurability.get(durable)); case 10: o.setAddress( (String) l.get( 0 ) ); } return o; }
Example 7
Source File: AmqpConsumerBuilder.java From qpid-jms with Apache License 2.0 | 4 votes |
private void configureSource(Source source) { Map<Symbol, DescribedType> filters = new HashMap<Symbol, DescribedType>(); Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL }; if (resourceInfo.isDurable()) { source.setExpiryPolicy(TerminusExpiryPolicy.NEVER); source.setDurable(TerminusDurability.UNSETTLED_STATE); source.setDistributionMode(COPY); } else { source.setDurable(TerminusDurability.NONE); source.setExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH); } if (resourceInfo.isBrowser()) { source.setDistributionMode(COPY); } // Capabilities LinkedList<Symbol> capabilities = new LinkedList<>(); Symbol typeCapability = AmqpDestinationHelper.toTypeCapability(resourceInfo.getDestination()); if (typeCapability != null){ capabilities.add(typeCapability); } if (resourceInfo.isShared()) { capabilities.add(AmqpSupport.SHARED); if(!resourceInfo.isExplicitClientID()) { capabilities.add(AmqpSupport.GLOBAL); } } if (!capabilities.isEmpty()) { Symbol[] capArray = capabilities.toArray(new Symbol[capabilities.size()]); source.setCapabilities(capArray); } //Outcomes source.setOutcomes(outcomes); source.setDefaultOutcome(MODIFIED_FAILED); // Filters if (resourceInfo.isNoLocal()) { filters.put(JMS_NO_LOCAL_SYMBOL, AmqpJmsNoLocalType.NO_LOCAL); } if (resourceInfo.getSelector() != null && !resourceInfo.getSelector().trim().equals("")) { filters.put(JMS_SELECTOR_SYMBOL, new AmqpJmsSelectorType(resourceInfo.getSelector())); } if (!filters.isEmpty()) { source.setFilter(filters); } }