public final class org.apache.camel.management.mbean.JMXNotificationTraceEventHandler extends java.lang.Object implements org.apache.camel.processor.interceptor.TraceEventHandler, org.apache.camel.api.management.NotificationSenderAware
{
private static final int MAX_MESSAGE_LENGTH;
private final java.util.concurrent.atomic.AtomicLong num;
private final org.apache.camel.processor.interceptor.Tracer tracer;
private org.apache.camel.api.management.NotificationSender notificationSender;
public void <init>(org.apache.camel.processor.interceptor.Tracer)
{
java.util.concurrent.atomic.AtomicLong v;
org.apache.camel.processor.interceptor.Tracer v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.processor.interceptor.Tracer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: java.util.concurrent.atomic.AtomicLong num> = v;
v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.processor.interceptor.Tracer tracer> = v;
return;
}
public void traceExchangeOut(org.apache.camel.model.ProcessorDefinition, org.apache.camel.Processor, org.apache.camel.processor.interceptor.TraceInterceptor, org.apache.camel.Exchange, java.lang.Object) throws java.lang.Exception
{
org.apache.camel.Processor v;
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.processor.interceptor.TraceInterceptor v;
java.lang.Object v;
org.apache.camel.Exchange v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.processor.interceptor.TraceInterceptor;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.Object;
return;
}
public java.lang.Object traceExchangeIn(org.apache.camel.model.ProcessorDefinition, org.apache.camel.Processor, org.apache.camel.processor.interceptor.TraceInterceptor, org.apache.camel.Exchange) throws java.lang.Exception
{
org.apache.camel.Processor v;
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.processor.interceptor.TraceInterceptor v;
org.apache.camel.Exchange v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.processor.interceptor.TraceInterceptor;
v := @parameter: org.apache.camel.Exchange;
virtualinvoke v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: void traceExchange(org.apache.camel.model.ProcessorDefinition,org.apache.camel.Processor,org.apache.camel.processor.interceptor.TraceInterceptor,org.apache.camel.Exchange)>(v, v, v, v);
return null;
}
public void traceExchange(org.apache.camel.model.ProcessorDefinition, org.apache.camel.Processor, org.apache.camel.processor.interceptor.TraceInterceptor, org.apache.camel.Exchange) throws java.lang.Exception
{
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.Message v;
org.apache.camel.api.management.NotificationSender v, v;
long v, v;
org.apache.camel.Exchange v;
org.apache.camel.Processor v;
java.util.Map v;
int v, v, v;
java.lang.String v, v, v;
boolean v;
org.apache.camel.processor.interceptor.TraceInterceptor v;
org.apache.camel.processor.interceptor.Tracer v, v;
javax.management.Notification v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.processor.interceptor.TraceInterceptor;
v := @parameter: org.apache.camel.Exchange;
v = v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.api.management.NotificationSender notificationSender>;
if v == null goto label;
v = v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.processor.interceptor.Tracer tracer>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.Tracer: boolean isJmxTraceNotifications()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.processor.interceptor.Tracer tracer>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.Tracer: int getTraceBodySize()>();
v = staticinvoke <org.apache.camel.util.MessageHelper: java.lang.String extractBodyForLogging(org.apache.camel.Message,java.lang.String,boolean,boolean,int)>(v, "", 0, 1, v);
if v != null goto label;
v = "";
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, 60);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = specialinvoke v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: java.util.Map createTraceMessage(org.apache.camel.model.ProcessorDefinition,org.apache.camel.Exchange,java.lang.String)>(v, v, v);
v = new javax.management.Notification;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: java.util.concurrent.atomic.AtomicLong num>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long getAndIncrement()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
specialinvoke v.<javax.management.Notification: void <init>(java.lang.String,java.lang.Object,long,long,java.lang.String)>("TraceNotification", v, v, v, v);
virtualinvoke v.<javax.management.Notification: void setUserData(java.lang.Object)>(v);
v = v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.api.management.NotificationSender notificationSender>;
interfaceinvoke v.<org.apache.camel.api.management.NotificationSender: void sendNotification(javax.management.Notification)>(v);
label:
return;
}
private java.util.Map createTraceMessage(org.apache.camel.model.ProcessorDefinition, org.apache.camel.Exchange, java.lang.String)
{
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.Message v;
java.util.Date v;
java.util.HashMap v, v, v;
long v;
org.apache.camel.Exchange v;
java.util.Map v, v;
java.lang.String v, v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v, v;
java.lang.Object v, v, v, v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.String;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("ExchangeId", v);
v = specialinvoke v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: java.lang.String getEndpointUri(org.apache.camel.model.ProcessorDefinition)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("EndpointURI", v);
v = new java.util.Date;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("TimeStamp", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("Body", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.util.Map getHeaders()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.util.Map getProperties()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>(v, class "Ljava/lang/String;");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("Headers", v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Object getProperty(java.lang.String,java.lang.Class)>(v, class "Ljava/lang/String;");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("Properties", v);
return v;
}
private java.lang.String getEndpointUri(org.apache.camel.model.ProcessorDefinition)
{
org.apache.camel.model.ProcessorDefinition v;
java.lang.String v, v;
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
boolean v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v = v instanceof org.apache.camel.Traceable;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Traceable: java.lang.String getTraceLabel()>();
return v;
label:
v = virtualinvoke v.<org.apache.camel.model.ProcessorDefinition: java.lang.String getLabel()>();
return v;
}
public void setNotificationSender(org.apache.camel.api.management.NotificationSender)
{
org.apache.camel.management.mbean.JMXNotificationTraceEventHandler v;
org.apache.camel.api.management.NotificationSender v;
v := @this: org.apache.camel.management.mbean.JMXNotificationTraceEventHandler;
v := @parameter: org.apache.camel.api.management.NotificationSender;
v.<org.apache.camel.management.mbean.JMXNotificationTraceEventHandler: org.apache.camel.api.management.NotificationSender notificationSender> = v;
return;
}
}