gpt4 book ai didi

java - 从oracle数据库获取数据时浏览器中504网关超时

转载 作者:行者123 更新时间:2023-12-02 10:41:56 25 4
gpt4 key购买 nike

问题的标题说明了一切。这发生在云类型转换环境中。应用程序结构是这样的,有两个数据库,一个是Mysql,另一个是Oracle,两个数据库都配置好了,数据源也创建好了。

最终目标是使用Springboot应用程序(ETL)将oracle数据库中的数据提取到mysql数据库中。在 Oracle DB 中运行 select 查询大约需要 30 分钟,因为在执行 select 查询后将获取大约 10000 条记录,因为对具有大量数据的表应用了联接。

当我在 Eclipse IDE 的本地环境中运行相同的内容时,它运行得很好。但在云环境中就会出现问题。

当我在云环境中的浏览器中运行其余链接时。它运行大约 10 到 15 分钟,并抛出 504 httpstatus,我观察到的是,在后台,数据是在应用程序中获取的。我可以在保存的日志中看到这一点。但在浏览器中它抛出异常。

我想展示我的代码,如果它是我的,但实际上它是公司的工作,这就是为什么我不能展示它..

有人可以帮我解决这个 504 错误吗?

最佳答案

根据您共享的有限信息,您似乎正在调用 REST API 来运行 ETL 作业,该作业将数据从一个数据库传输到另一个数据库,这是一项耗时/长时间运行的作业。据我所知,这是异步操作而不是同步操作的一个很好的选择。根据您提供的详细信息,我建议您的 REST API 应触发一个新线程,该线程负责在后台运行 ETL 作业,并且如果成功触发线程,则立即在响应中返回成功。然后,您可以在 UI 上进行另一个操作,该操作将显示 ETL 作业的状态,该状态必须维护在数据库中的某个位置,并使用服务从那里获取并显示在 UI 上。

注意:如果同步完成,对于如此长时间运行的操作,网关超时是不可避免的,除非您增加相应服务的超时,但我不建议这样做。

关于java - 从oracle数据库获取数据时浏览器中504网关超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52868791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com