This commit is contained in:
lxy 2020-09-07 22:11:29 +08:00
parent f848c57e39
commit 8d22d5e830
2 changed files with 12 additions and 1 deletions

View File

@ -9,6 +9,9 @@ public class EventType<T> {
public final TypeToken<T> typeToken; public final TypeToken<T> typeToken;
private final Consumer<T> consumer; private final Consumer<T> consumer;
private final static TypeToken<String> stringToken = new TypeToken<>() {
};
private EventType(String topic, TypeToken<T> typeToken, Consumer<T> consumer) { private EventType(String topic, TypeToken<T> typeToken, Consumer<T> consumer) {
this.topic = topic; this.topic = topic;
this.typeToken = typeToken; this.typeToken = typeToken;
@ -19,6 +22,10 @@ public class EventType<T> {
return new EventType<>(topic, typeToken, consumer); return new EventType<>(topic, typeToken, consumer);
} }
public static EventType of(String topic, Consumer<String> consumer) {
return new EventType(topic, stringToken, consumer);
}
public void accept(T t) { public void accept(T t) {
consumer.accept(t); consumer.accept(t);
} }

View File

@ -15,7 +15,11 @@ public class MyConsumer extends KafakConsumer {
addEventType( addEventType(
EventType.of("a1", new TypeToken<Float>() { EventType.of("a1", new TypeToken<Float>() {
}, r -> { }, r -> {
System.out.println("我收到了消息 主题A 事件:" + JsonConvert.root().convertTo(r)); System.out.println("我收到了消息 主题a1 事件:" + JsonConvert.root().convertTo(r));
}),
EventType.of("bx", str -> {
System.out.println("我收到了消息 主题bx 事件:" + str);
}) })
); );
} }