Java AWS Lambda中的Oracle数据库连接

Java AWS Lambda中的Oracle数据库连接,java,oracle,amazon-web-services,jdbc,aws-lambda,Java,Oracle,Amazon Web Services,Jdbc,Aws Lambda,我有一个使用Java8编写的AWS Lambda函数。我正在从Lambda建立oracle连接。我应该显式关闭连接、语句和结果集,还是在lambda终止时自动销毁它?始终显式关闭语句和结果集 关闭连接是关于您的实现。如果你打算重用它,你可以自己做,但要记住 AWS Lambda函数是一个容器(其中运行一个JVM)。它保持活动状态一段时间(我记得默认值是5分钟空闲) 这意味着,如果对AWS Lambda函数的下一个请求在5分钟之前到达,该容器将再次使用 如果没有更多可用的容器为AWS Lambda

我有一个使用Java8编写的AWS Lambda函数。我正在从Lambda建立oracle连接。我应该显式关闭连接、语句和结果集,还是在lambda终止时自动销毁它?

始终显式关闭语句和结果集

关闭连接是关于您的实现。如果你打算重用它,你可以自己做,但要记住

AWS Lambda函数是一个容器(其中运行一个JVM)。它保持活动状态一段时间(我记得默认值是5分钟空闲)

这意味着,如果对AWS Lambda函数的下一个请求在5分钟之前到达,该容器将再次使用


如果没有更多可用的容器为AWS Lambda函数提供服务,那么新的容器/JVM将启动—使用新的DB连接。

始终显式关闭语句和结果集

关闭连接是关于您的实现。如果你打算重用它,你可以自己做,但要记住

AWS Lambda函数是一个容器(其中运行一个JVM)。它保持活动状态一段时间(我记得默认值是5分钟空闲)

这意味着,如果对AWS Lambda函数的下一个请求在5分钟之前到达,该容器将再次使用


如果没有更多可用的容器为AWS Lambda函数提供服务,那么新的容器/JVM将启动-使用新的DB连接。

谢谢@Vadim。如果我不关闭语句和结果集,有什么潜在影响?当lambda关闭时,这不会被破坏吗?是的,当容器/jvm消失时,它会被破坏,但您无法控制它,并且无法预测它何时发生。如果请求不断,它可以长时间存活。尽管如此,无论实现如何(AWS Lamda或其他任何东西),JDBC语句和结果集在不再需要时必须显式关闭。最好在它们打开的同一个类和线程中执行。否则,行为可能非常糟糕。我现在无法解释这背后的一切。我不再与JDBC合作足够长的时间了,但是。。。这是我从以前的经验中清楚地记得的一条主要规则。:-)谢谢@Vadim。这很有帮助。谢谢@Vadim。如果我不关闭语句和结果集,有什么潜在影响?当lambda关闭时,这不会被破坏吗?是的,当容器/jvm消失时,它会被破坏,但您无法控制它,并且无法预测它何时发生。如果请求不断,它可以长时间存活。尽管如此,无论实现如何(AWS Lamda或其他任何东西),JDBC语句和结果集在不再需要时必须显式关闭。最好在它们打开的同一个类和线程中执行。否则,行为可能非常糟糕。我现在无法解释这背后的一切。我不再与JDBC合作足够长的时间了,但是。。。这是我从以前的经验中清楚地记得的一条主要规则。:-)谢谢@Vadim。这很有帮助。我也需要在AWS lambda中连接oracle DB连接。我们如何实现这一点?对不起,我是AWS的新手。我也有同样的要求在AWS lambda中连接oracle DB连接。我们如何实现这一点?对不起,我是AWS的新手。