【问题标题】:How to connect onprem oracle DB from Micronaut based AWS Lambda如何从基于 Micronaut 的 AWS Lambda 连接 onprem oracle DB
【发布时间】:2022-06-14 16:12:42
【问题描述】:

我正在尝试使用 micronaut 进行基于 Java 的无服务器 (AWS lambda) 开发。 第一个用例是连接和查询本地 oracle DB(用于只读操作)以丰富数据,然后调用一些肥皂服务。

这个问题是关于在本地进行 Oracle DB 调用。我在 Internet 上看到了一些基于连接池的方法(JDBC-hikari 等)的参考资料,这些参考资料可能不需要 lambda 应用程序。那么使用 micronaut 连接/调用/关闭 oracle 连接的最佳/推荐方式是什么? 请提出建议。

【问题讨论】:

    标签: micronaut micronaut-data micronaut-aws


    【解决方案1】:

    尽管为此需要考虑很多网络因素,但我认为您具体询问的是连接池。

    您认为您的 Lambda 函数可能不会从拥有许多打开的连接中受益是正确的。根据工作量,您实际上可能只需要一个。

    我建议在 Lambda 初始化阶段建立连接。然后,连接将在调用之间持续存在。要在 Lambda 执行环境终止之前关闭连接,您可以注册运行时关闭挂钩。

    此 AWS GitHub 存储库中有一个示例 graceful-shutdown-with-aws-lambda

    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            System.out.println("[runtime] ShutdownHook triggered");
            System.out.println("[runtime] Cleaning up");
            // perform actual clean up work here.
            try {
                Thread.sleep(200);
            } catch (Exception e) {
                System.out.println(e);
            }
            
            System.out.println("[runtime] exiting");
            System.exit(0);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 2018-02-26
      • 1970-01-01
      • 2018-07-23
      • 2016-06-17
      • 1970-01-01
      • 2018-07-18
      相关资源
      最近更新 更多