public class org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager extends org.apache.logging.log4j.core.appender.AbstractManager
{
public static final java.lang.String DEFAULT_TIMEOUT_MILLIS;
static org.apache.logging.log4j.core.appender.mom.kafka.KafkaProducerFactory producerFactory;
private final java.util.Properties config;
private org.apache.kafka.clients.producer.Producer producer;
private final int timeoutMillis;
private final java.lang.String topic;
private final java.lang.String key;
private final boolean syncSend;
private final boolean sendTimestamp;
private static final org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory factory;
public void <init>(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.lang.String, boolean, org.apache.logging.log4j.core.config.Property[], java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Property[] v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: void <init>(org.apache.logging.log4j.core.LoggerContext,java.lang.String,java.lang.String,boolean,boolean,org.apache.logging.log4j.core.config.Property[],java.lang.String)>(v, v, v, v, 0, v, v);
return;
}
private void <init>(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.lang.String, boolean, boolean, org.apache.logging.log4j.core.config.Property[], java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
java.lang.Integer v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
java.util.Properties v, v, v, v, v, v, v;
org.apache.logging.log4j.core.config.Property[] v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
org.apache.logging.log4j.core.config.Property v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.logging.log4j.core.appender.AbstractManager: void <init>(org.apache.logging.log4j.core.LoggerContext,java.lang.String)>(v, v);
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "topic");
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String topic> = v;
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: boolean syncSend> = v;
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: boolean sendTimestamp> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("key.serializer", class "Lorg/apache/kafka/common/serialization/ByteArraySerializer;");
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("value.serializer", class "Lorg/apache/kafka/common/serialization/ByteArraySerializer;");
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("batch.size", v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String getValue()>();
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("timeout.ms");
if v != null goto label;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String,java.lang.String)>("request.timeout.ms", "30000");
label:
v = staticinvoke <org.apache.logging.log4j.core.util.Integers: int parseInt(java.lang.String)>(v);
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: int timeoutMillis> = v;
return;
}
public boolean releaseSub(long, java.util.concurrent.TimeUnit)
{
java.util.concurrent.TimeUnit v, v;
byte v;
int v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
long v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v cmp 0L;
if v <= 0 goto label;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: void closeProducer(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: int timeoutMillis>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: void closeProducer(long,java.util.concurrent.TimeUnit)>(v, v);
label:
return 1;
}
private void closeProducer(long, java.util.concurrent.TimeUnit)
{
org.apache.kafka.clients.producer.Producer v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
long v, v;
org.apache.logging.log4j.core.util.Log4jThread v;
java.lang.Runnable v;
java.util.concurrent.TimeUnit v;
java.lang.InterruptedException v;
java.lang.Thread v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer>;
if v == null goto label;
v = new org.apache.logging.log4j.core.util.Log4jThread;
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$lambda_closeProducer_0__1107: java.lang.Runnable bootstrap$(org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager)>(v);
specialinvoke v.<org.apache.logging.log4j.core.util.Log4jThread: void <init>(java.lang.Runnable,java.lang.String)>(v, "KafkaManager-CloseThread");
virtualinvoke v.<java.lang.Thread: void setDaemon(boolean)>(1);
virtualinvoke v.<java.lang.Thread: void start()>();
label:
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
virtualinvoke v.<java.lang.Thread: void join(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public void send(byte[]) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException
{
byte[] v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: byte[];
virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: void send(byte[],java.lang.Long)>(v, null);
return;
}
public void send(byte[], java.lang.Long) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException
{
byte[] v, v;
org.apache.kafka.clients.producer.ProducerRecord v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
java.util.concurrent.Future v;
java.nio.charset.Charset v, v;
java.lang.Long v, v;
int v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.kafka.clients.producer.Producer v, v, v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
java.util.concurrent.TimeUnit v;
org.apache.kafka.clients.producer.Callback v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v := @parameter: byte[];
v := @parameter: java.lang.Long;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer>;
if v == null goto label;
v = null;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("${");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.LoggerContext getLoggerContext()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration getConfiguration()>();
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.lookup.StrSubstitutor getStrSubstitutor()>();
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key>;
v = virtualinvoke v.<org.apache.logging.log4j.core.lookup.StrSubstitutor: java.lang.String replace(java.lang.String)>(v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String key>;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
label:
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: boolean sendTimestamp>;
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
v = new org.apache.kafka.clients.producer.ProducerRecord;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String topic>;
specialinvoke v.<org.apache.kafka.clients.producer.ProducerRecord: void <init>(java.lang.String,java.lang.Integer,java.lang.Long,java.lang.Object,java.lang.Object)>(v, null, v, v, v);
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: boolean syncSend>;
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer>;
v = interfaceinvoke v.<org.apache.kafka.clients.producer.Producer: java.util.concurrent.Future send(org.apache.kafka.clients.producer.ProducerRecord)>(v);
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: int timeoutMillis>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
interfaceinvoke v.<java.util.concurrent.Future: java.lang.Object get(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer>;
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$lambda_send_1__1108: org.apache.kafka.clients.producer.Callback bootstrap$(org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager)>(v);
interfaceinvoke v.<org.apache.kafka.clients.producer.Producer: java.util.concurrent.Future send(org.apache.kafka.clients.producer.ProducerRecord,org.apache.kafka.clients.producer.Callback)>(v, v);
label:
return;
}
public void startup()
{
java.util.Properties v;
org.apache.kafka.clients.producer.Producer v, v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaProducerFactory v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer>;
if v != null goto label;
v = <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.mom.kafka.KafkaProducerFactory producerFactory>;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.util.Properties config>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaProducerFactory: org.apache.kafka.clients.producer.Producer newKafkaProducer(java.util.Properties)>(v);
v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.kafka.clients.producer.Producer producer> = v;
label:
return;
}
public java.lang.String getTopic()
{
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
java.lang.String v;
v := @this: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager;
v = v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: java.lang.String topic>;
return v;
}
public static org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager getManager(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.lang.String, boolean, org.apache.logging.log4j.core.config.Property[], java.lang.String)
{
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.config.Property[] v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager v;
java.lang.String v, v, v;
boolean v;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager getManager(org.apache.logging.log4j.core.LoggerContext,java.lang.String,java.lang.String,boolean,boolean,org.apache.logging.log4j.core.config.Property[],java.lang.String)>(v, v, v, v, 0, v, v);
return v;
}
static org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager getManager(org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.lang.String, boolean, boolean, org.apache.logging.log4j.core.config.Property[], java.lang.String)
{
org.apache.logging.log4j.core.appender.AbstractManager v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory v;
org.apache.logging.log4j.core.LoggerContext v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
org.apache.logging.log4j.core.config.Property[] v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$FactoryData v;
org.apache.logging.log4j.core.config.Property v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(boolean)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(boolean)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("=");
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String getValue()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory factory>;
v = new org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$FactoryData;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$FactoryData: void <init>(org.apache.logging.log4j.core.LoggerContext,java.lang.String,boolean,boolean,org.apache.logging.log4j.core.config.Property[],java.lang.String)>(v, v, v, v, v, v);
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.AbstractManager getManager(java.lang.String,org.apache.logging.log4j.core.appender.ManagerFactory,java.lang.Object)>(v, v, v);
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory v;
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory v;
v = new org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory: void <init>()>();
<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.mom.kafka.KafkaProducerFactory producerFactory> = v;
v = new org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory;
specialinvoke v.<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory: void <init>()>();
<org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager: org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager$KafkaManagerFactory factory> = v;
return;
}
}