killme2008/Metamorphosis

Server端在Filter类里拿不到Topic的名字

Closed this issue · 2 comments

在Client端,可以通过
SimpleFetchManager.currentTopicRegInfo();
拿到topic的信息。但是在Server端拿不到topic的信息,做过滤时不方便,可不可以提供些接口?

你要这个信息做什么?你要消息的topic,message.getTopic就有,这个方法是提供offset信息给receiveMessages做消息去重,特别针对使用数据库存储offset的情况。服务端是获取不了这个信息的。

原来Messag里有topic名字。。

Metaq目录的配置文件简洁,但是也造成Filter只能配置一个类名,没办法配置其它的参数。想要动态修改Filter的配置比较困难。
目前我的做法是,只有一个Filter类,在zookeeper上为不同的topic, group配置不同的Spring El表达式,这样可以很方便地修改Filter的配置。所以要在做过滤时拿到topic的名字,才能拿到对应的Spring EL表达式。