本文整理汇总了Java中org.apache.qpid.proton.amqp.messaging.Source.setOutcomes方法的典型用法代码示例。如果您正苦于以下问题:Java Source.setOutcomes方法的具体用法?Java Source.setOutcomes怎么用?Java Source.setOutcomes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.qpid.proton.amqp.messaging.Source
的用法示例。
在下文中一共展示了Source.setOutcomes方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createEndpoint
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的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;
}
示例2: configureSource
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
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);
}
}
示例3: createReceiver
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
@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());
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;
}
示例4: createSender
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
@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);
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;
}
示例5: createEndpoint
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
@Override
protected Sender createEndpoint(JmsProducerInfo resourceInfo) {
JmsDestination destination = resourceInfo.getDestination();
AmqpConnection connection = getParent().getConnection();
String targetAddress = AmqpDestinationHelper.INSTANCE.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.INSTANCE.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;
}
示例6: newInstance
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
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;
}
示例7: configureSource
import org.apache.qpid.proton.amqp.messaging.Source; //导入方法依赖的package包/类
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.INSTANCE.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);
}
}