我的应用程序中有一个 Spring Batch tasklet,如下所示。
@Service
public class SampleTasklet implements Tasklet {
@Autowired
private UserService userService;
@Override
public RepeatStatus execute(StepContribution contribution,
ChunkContext chunkContext) throws Exception {
System.err.println(userService.getUsers().size());
return RepeatStatus.FINISHED;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个服务类如下。
@Service
@Slf4j
public class UserService {
public Map<String, String> getUsers(){
return null
}
}
Run Code Online (Sandbox Code Playgroud)
Spring Boot 类:
@SpringBootApplication
@Slf4j
public class SampleBatchApp {
public static void main(String[] args) {
log.info("Custom DAM Batch Application starting");
SpringApplication.run(SampleBatchApp.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
Spring Batch File:——根据评论编辑。
@Configuration
@EnableBatchProcessing
public class SampleBatch {
@Autowired
public …Run Code Online (Sandbox Code Playgroud) 我正在使用 Spring Cloud 流来消费来自 Kafka 的消息。
是否可以从代码中读取 Kafka 消息密钥?
我有一个 Kafka 主题,它通常有两种类型的消息。要采取的操作因消息键而异。我看到 spring 文档只有以下内容来阅读消息。在这里,我需要指定消息的实际映射(此处为 Greetings 类)。但是,我需要一种方法来读取消息键并确定可反序列化的 Pojo
public class GreetingsListener {
@StreamListener(GreetingsProcessor.INPUT)
public void handleGreetings(@Payload Greetings request) {
}
}
Run Code Online (Sandbox Code Playgroud)