我有以下用例-来自一组avro契约-定义为.avsc文件-我使用 avrohugger
图书馆。我想提交不同类型的合同,以同一Kafka主题。
在编写发布者时,我需要一种方法来指定每个不相关的契约都可以传递给发布者 submission
方法。因为我无法控制类是如何从 avrohugger
,我定义了一个类型类,它是绑定到泛型输入类型的上下文(例如。 T: Event
)然后把资料交给Kafka。这很管用。
我的问题是如何定义消费者?我想让我的客户能够选择他们想要处理的消息。 consumer(f: E => Unit): Unit
. 这就是我被困住的地方。 E
需要是一个抽象而不是一个具体的实现。这不允许我使用类型类。但是我不能像我前面提到的那样接触case类。我可以通过有一个 Out
每个契约的对应项,但这很难维护,而且会增加无用的短期对象和对象Map的成本。
暂无答案!
目前还没有任何答案,快来回答吧!