Redis 命令MSET至少需要2个参数,但方法声明了1个参数

Redis 命令MSET至少需要2个参数,但方法声明了1个参数,redis,lettuce,Redis,Lettuce,我试图为Redis客户端定义自己的动态命令,但在初始化时遇到了一个奇怪的错误 我使用mset的动态命令的原因是我需要继续支持返回以前版本中的rx.Observable 我正在从旧的莴苣客户端依赖项biz.paluch.redis升级到io.莴苣 错误 io.莴苣.core.dynamic.CommandMethodSyntaxException:命令MSET 至少需要2个参数,但方法声明了1个参数。 冒犯方法:公开摘要rx。可观察 com.my.services.cache.MyCommands

我试图为Redis客户端定义自己的动态命令,但在初始化时遇到了一个奇怪的错误

我使用mset的动态命令的原因是我需要继续支持返回以前版本中的
rx.Observable

我正在从旧的莴苣客户端依赖项biz.paluch.redis升级到io.莴苣

错误

io.莴苣.core.dynamic.CommandMethodSyntaxException:命令MSET 至少需要2个参数,但方法声明了1个参数。 冒犯方法:公开摘要rx。可观察 com.my.services.cache.MyCommands.mset(java.util.Map)

我已经定义了我的命令接口

public interface MyCommands extends Commands {

  Observable<byte[]> get(String key);
  Observable<byte[]> mget(String... keys);
  Observable<String> set(String key, byte[] value, SetArgs args);
  Observable<String> mset(Map<String, byte[]> values);// offending command
  Observable<String> hmset(String key, Map<String, byte[]> values);
  Observable<Long> del(String... keys);
  Observable<Boolean> expire(final String key, final int seconds);
  Observable<Map<String, byte[]>> hgetAll(final String key);
  Observable<Long> ttl(final String key);
  Observable<Long> exists(final String key);
  Observable<Long> rpush(final String key, final byte[][] strings);
  Observable<Long> rpushx(final String key, final byte[] string);
  Observable<Long> llen(final String key);
}
公共接口MyCommands扩展命令{
可观察get(字符串键);
可观测mget(字符串…键);
可观察集(字符串键,字节[]值,SetArgs args);
可观察的mset(映射值);//有问题的命令
可观察hmset(字符串键、映射值);
可观察del(字符串…键);
可观察过期(最终字符串键,最终整数秒);
可观察hgetAll(最终字符串键);
可观察ttl(最终字符串键);
可观察存在(最终字符串键);
可观察的rpush(最终字符串键,最终字节[][]字符串);
可观察rpushx(最终字符串键,最终字节[]字符串);
可观察的llen(最终字符串键);
}
并使用

@Override
    public Observable<String> mset(Map<String, byte[]> values) {
        return newCommands.mset(values);
    }
@覆盖
公共可观测mset(地图值){
返回newCommands.mset(值);
}
我不确定是什么原因导致了这种情况,看起来RedisReactiveCommands对相同的方法签名的作用完全相同