本文整理匯總了Java中org.apache.camel.Exchange.setException方法的典型用法代碼示例。如果您正苦於以下問題:Java Exchange.setException方法的具體用法?Java Exchange.setException怎麽用?Java Exchange.setException使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.camel.Exchange
的用法示例。
在下文中一共展示了Exchange.setException方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onCompletion
import org.apache.camel.Exchange; //導入方法依賴的package包/類
@Override
public void onCompletion(Exchange exchange) {
if (wrappedAggregationStrategy != null
&& wrappedAggregationStrategy instanceof CompletionAwareAggregationStrategy) {
((CompletionAwareAggregationStrategy) wrappedAggregationStrategy).onCompletion(exchange);
}
// Remove exception, fault and redelivery info from exchange
exchange.setException(null);
exchange.removeProperty(Exchange.FAILURE_HANDLED);
exchange.removeProperty(Exchange.FAILURE_ENDPOINT);
exchange.removeProperty(Exchange.FAILURE_ROUTE_ID);
exchange.removeProperty(Exchange.ERRORHANDLER_CIRCUIT_DETECTED);
exchange.removeProperty(Exchange.ERRORHANDLER_HANDLED);
exchange.removeProperty(Exchange.EXCEPTION_HANDLED);
exchange.removeProperty(Exchange.EXCEPTION_CAUGHT);
Message message = exchange.hasOut() ? exchange.getOut() : exchange.getIn();
message.setFault(false);
message.removeHeader(Exchange.REDELIVERED);
message.removeHeader(Exchange.REDELIVERY_COUNTER);
message.removeHeader(Exchange.REDELIVERY_DELAY);
message.removeHeader(Exchange.REDELIVERY_EXHAUSTED);
message.removeHeader(Exchange.REDELIVERY_MAX_COUNTER);
}
示例2: process
import org.apache.camel.Exchange; //導入方法依賴的package包/類
@Override
public final void process(final Exchange exchange) throws Exception {
if (exchange.isFailed()) {
return;
}
if (type == null) {
return;
}
final Message message = message(exchange);
final String bodyAsString = message.getBody(String.class);
if (bodyAsString == null) {
return;
}
try {
final Object output = MAPPER.readValue(bodyAsString, type);
message.setBody(output);
} catch (final IOException e) {
exchange.setException(e);
}
}
示例3: process
import org.apache.camel.Exchange; //導入方法依賴的package包/類
@Override
public void process(final Exchange exchange) throws Exception {
// parse input json and extract Id field
final Message in = exchange.getIn();
final String body = in.getBody(String.class);
if (body == null) {
return;
}
final ObjectNode node = (ObjectNode) MAPPER.readTree(body);
final String idPropertyName = determineIdProperty(exchange);
final JsonNode idProperty = node.remove(idPropertyName);
if (idProperty == null) {
exchange.setException(
new SalesforceException("Missing option value for Id or " + SalesforceEndpointConfig.SOBJECT_EXT_ID_NAME, 404));
return;
}
final String idValue = idProperty.textValue();
if ("Id".equals(idPropertyName)) {
in.setHeader(SalesforceEndpointConfig.SOBJECT_ID, idValue);
} else {
in.setHeader(SalesforceEndpointConfig.SOBJECT_EXT_ID_VALUE, idValue);
}
// base fields are not allowed to be updated
clearBaseFields(node);
// update input json
in.setBody(MAPPER.writeValueAsString(node));
}
示例4: process
import org.apache.camel.Exchange; //導入方法依賴的package包/類
@Override
public boolean process(Exchange exchange, AsyncCallback callback) {
try {
process(exchange);
Message out = exchange.getOut();
out.copyFrom(exchange.getIn());
} catch (Exception e) {
exchange.setOut(null);
exchange.setException(e);
}
callback.done(true);
return true;
}
示例5: setFailureHandled
import org.apache.camel.Exchange; //導入方法依賴的package包/類
private static void setFailureHandled(Exchange exchange) {
exchange.setProperty(Exchange.EXCEPTION_CAUGHT, exchange.getException());
exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.TRUE);
exchange.setException(null);
}