Redisson 配置 setBeanFactory 自动装配 beans

Redisson config setBeanFactory autowiring beans

我在此处定义了一个任务 class:

{

    @Autowired
    private CarPainter carpainter;

    private String color;
    private Car car;


    public CarPainterTask(Car car, String color)
    {
        this.car = car;
        this.color = color;
    }


    public Car call()
    {

        if(car.getColor().equals(color))
        {
            return car;
        }

    carPainter.paint(car);  

        return car;
    }

}

我希望能够 @Autowired 将服务纳入我的任务 class 但也能够输入一些参数

我已经尝试为我的 Redisson 节点创建 @Configuration class

    @Bean
    public RedissonNode createRedissonWorker()
    {
        RedissonNodeConfig nodeConfig = new RedissonNodeConfig(redissonClient.getConfig());
        nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("carService", 1));
        nodeConfig.setBeanFactory(applicationContext);
        RedissonNode node = RedissonNode.create(nodeConfig);
        node.start();
        return node;
    }

让 Redisson 从 Springboot 的 bean 容器中注入 CarPainter bean,但这不起作用...

有没有办法实现我在这里需要的东西?

在您的 createRedissonWorker() 方法中,使用 BeanFactory 实例将其传递给 setBeanFactory() 而不是 ApplicationContext,它应该可以正常工作。