我想在我的应用程序中实现一个反馈机制 - 基本上是一个分数.要求是:
似乎这与加密理论接近(甚至重叠),但我无法找到任何可以解决这个问题的方法.有没有人有任何特定的算法可以解决这个问题?或者甚至可以使用其他搜索向量来追求它?
我正在尝试创建一个多线程侦听器,但所有消息都在同一个线程中执行.运行时,线程ID总是相同的,即使KafkaListerContainerFactory(正确地)是我实例化的那个.如果我几乎同时发送7条消息,我希望前三个同时处理,然后是后三个同时处理,然后是最后一个.我看到的是第一个完成的过程,然后是第二个,然后是第三个,等等.我误解了什么,或者只是错误配置?
这是我的倾听者:
@Component
public class ExampleKafkaController {
Log log = Log.getLog(ExampleKafkaController.class);
@Autowired
private KafkaListenerContainerFactory kafkaListenerContainerFactory;
@KafkaListener(topics = "${kafka.example.topic}")
public void listenForMessage(ConsumerRecord<?, ?> record) {
log.info("Got record:\n" + record.value());
System.out.println("Kafka Thread: " + Thread.currentThread());
System.out.println(kafkaListenerContainerFactory);
log.info("Waiting...");
waitSleep(10000);
log.info("Done!");
}
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
@Value("${kafka.example.topic}")
public String topic;
public void send(String payload) {
log.info("sending payload='" + payload + "' to topic='" + topic + "'");
kafkaTemplate.send(topic, payload);
}
private void waitSleep(long ms) {
try {
Thread.sleep(ms);
} catch (InterruptedException e) { …Run Code Online (Sandbox Code Playgroud)