public class org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler extends java.lang.Object implements org.apache.camel.spi.ExceptionHandler
{
private final org.apache.camel.support.LoggingExceptionHandler fallback;
private final org.apache.camel.impl.DefaultConsumer consumer;
private final org.apache.camel.Processor bridge;
public void <init>(org.apache.camel.impl.DefaultConsumer)
{
org.apache.camel.CamelContext v;
org.apache.camel.Processor v;
org.apache.camel.impl.DefaultConsumer v;
org.apache.camel.support.LoggingExceptionHandler v;
java.lang.Class v;
org.apache.camel.Endpoint v;
org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler v;
v := @this: org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler;
v := @parameter: org.apache.camel.impl.DefaultConsumer;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.impl.DefaultConsumer consumer> = v;
v = new org.apache.camel.support.LoggingExceptionHandler;
v = virtualinvoke v.<org.apache.camel.impl.DefaultConsumer: org.apache.camel.Endpoint getEndpoint()>();
v = interfaceinvoke v.<org.apache.camel.Endpoint: org.apache.camel.CamelContext getCamelContext()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
specialinvoke v.<org.apache.camel.support.LoggingExceptionHandler: void <init>(org.apache.camel.CamelContext,java.lang.Class)>(v, v);
v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.support.LoggingExceptionHandler fallback> = v;
v = virtualinvoke v.<org.apache.camel.impl.DefaultConsumer: org.apache.camel.Processor getProcessor()>();
v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.Processor bridge> = v;
return;
}
public void handleException(java.lang.Throwable)
{
java.lang.Throwable v;
org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler v;
v := @this: org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler;
v := @parameter: java.lang.Throwable;
virtualinvoke v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: void handleException(java.lang.String,java.lang.Throwable)>(null, v);
return;
}
public void handleException(java.lang.String, java.lang.Throwable)
{
java.lang.Throwable v;
java.lang.String v;
org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler v;
v := @this: org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Throwable;
virtualinvoke v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: void handleException(java.lang.String,org.apache.camel.Exchange,java.lang.Throwable)>(v, null, v);
return;
}
public void handleException(java.lang.String, org.apache.camel.Exchange, java.lang.Throwable)
{
java.lang.Throwable v, v;
org.apache.camel.Message v;
org.apache.camel.spi.UnitOfWork v;
org.apache.camel.Exchange v;
org.apache.camel.Endpoint v;
org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler v;
org.apache.camel.Processor v;
java.lang.Boolean v;
java.lang.String v, v, v;
org.apache.camel.impl.DefaultConsumer v, v;
org.apache.camel.support.LoggingExceptionHandler v;
java.lang.Exception v;
v := @this: org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.Throwable;
if v != null goto label;
v = v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.impl.DefaultConsumer consumer>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultConsumer: org.apache.camel.Endpoint getEndpoint()>();
v = interfaceinvoke v.<org.apache.camel.Endpoint: org.apache.camel.Exchange createExchange()>();
label:
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(v);
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRedeliveryExhausted", v);
v = null;
label:
v = v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.impl.DefaultConsumer consumer>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultConsumer: org.apache.camel.spi.UnitOfWork createUoW(org.apache.camel.Exchange)>(v);
v = v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.Processor bridge>;
interfaceinvoke v.<org.apache.camel.Processor: void process(org.apache.camel.Exchange)>(v);
label:
staticinvoke <org.apache.camel.util.UnitOfWorkHelper: void doneUow(org.apache.camel.spi.UnitOfWork,org.apache.camel.Exchange)>(v, v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.impl.BridgeExceptionHandlerToErrorHandler: org.apache.camel.support.LoggingExceptionHandler fallback>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error handling exception \u0001");
virtualinvoke v.<org.apache.camel.support.LoggingExceptionHandler: void handleException(java.lang.String,org.apache.camel.Exchange,java.lang.Throwable)>(v, v, v);
label:
staticinvoke <org.apache.camel.util.UnitOfWorkHelper: void doneUow(org.apache.camel.spi.UnitOfWork,org.apache.camel.Exchange)>(v, v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.camel.util.UnitOfWorkHelper: void doneUow(org.apache.camel.spi.UnitOfWork,org.apache.camel.Exchange)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
}