提交 1562bd0d 编写于 作者: S shroman 提交者: yukon

[ROCKETMQ-30] Fixed method signature for Message Filter example and class...

[ROCKETMQ-30] Fixed method signature for Message Filter example and class loading from resources, closes apache/incubator-rocketmq#27
上级 f9360575
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package org.apache.rocketmq.example.filter; package org.apache.rocketmq.example.filter;
import java.io.File;
import java.util.List; import java.util.List;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
...@@ -30,8 +31,11 @@ public class Consumer { ...@@ -30,8 +31,11 @@ public class Consumer {
public static void main(String[] args) throws InterruptedException, MQClientException { public static void main(String[] args) throws InterruptedException, MQClientException {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ConsumerGroupNamecc4"); DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ConsumerGroupNamecc4");
String filterCode = MixAll.file2String("/home/admin/MessageFilterImpl.java"); ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
consumer.subscribe("TopicFilter7", "org.apache.rocketmq.example.filter.MessageFilterImpl", File classFile = new File(classLoader.getResource("MessageFilterImpl.java").getFile());
String filterCode = MixAll.file2String(classFile);
consumer.subscribe("TopicTest", "org.apache.rocketmq.example.filter.MessageFilterImpl",
filterCode); filterCode);
consumer.registerMessageListener(new MessageListenerConcurrently() { consumer.registerMessageListener(new MessageListenerConcurrently() {
......
...@@ -17,13 +17,14 @@ ...@@ -17,13 +17,14 @@
package org.apache.rocketmq.example.filter; package org.apache.rocketmq.example.filter;
import org.apache.rocketmq.common.filter.FilterContext;
import org.apache.rocketmq.common.filter.MessageFilter; import org.apache.rocketmq.common.filter.MessageFilter;
import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExt;
public class MessageFilterImpl implements MessageFilter { public class MessageFilterImpl implements MessageFilter {
@Override @Override
public boolean match(MessageExt msg) { public boolean match(MessageExt msg, FilterContext context) {
String property = msg.getProperty("SequenceId"); String property = msg.getProperty("SequenceId");
if (property != null) { if (property != null) {
int id = Integer.parseInt(property); int id = Integer.parseInt(property);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册