首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中不使用Reddison (使用samLocal和local堆栈)

在Java中不使用Reddison (使用samLocal和local堆栈)
EN

Stack Overflow用户
提问于 2020-03-03 15:57:37
回答 1查看 195关注 0票数 0

我不知道是什么导致这不起作用的。每次代码命中客户端的初始化时,它停止工作是使用Redisson在Lambda设置中不可行吗?

用于初始化redisson客户端的主代码

代码语言:javascript
复制
public boolean itemExistInCache(String item) {
    Config config = new Config();
    config.useSingleServer().setAddress("127.0.0.1:6379");

    // this one is not working
    RedissonClient redissonClient = Redisson.create(config);
}

设置

每次在SQS中注册消息时,都会触发包含上述代码的

  • 。SNS消息订阅了SNS主题。使用localstack
  • Lambda运行aws-sam-cli)

创建/初始化

  • SNS+ SQS安装程序(pip3安装-user aws-sam-cli)

)。

到目前为止我尝试和工作的情况,

使用Jedis jedis = new ()//使用相同的redis "localhost: 6379"的

EN

回答 1

Stack Overflow用户

发布于 2020-03-29 12:53:30

如果您打算在“真正的”lambda (vs Local)中运行此代码,则需要在VPC中运行lambda,在这种情况下,它将没有外部网络,除非您在VPC中安装NAT或类似的。

如果在sam --本地使用127.0.0.1 --您是否确定您的“lambda”运行在sam中--local不在一个网络cgroup中(例如在码头运行--如果在码头,它很可能“localhost”不在redis居住的地方)?这个问题/问题几乎可以肯定是一个关于sam内部的网络连接和端口映射的问题。您可以通过尝试其他的方法来验证这一点,然后尝试将它连接到端点,看看它是否连接-- URL.openStream()至少应该有足够的连接来给出一个错误。(redis不是HTTP,所以它不会“工作”,但它将连接与挂起的挂起几乎总是与IP或端口隔离有关)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60511088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档