Amazon RDS PostgreSQL - 导致:WSO2 EI docker 容器中的 java.net.UnknownHostException: yyyy.xxx.us-west-1.rds.amazonaws.com

问题描述 投票:0回答:1

我正在使用 Amazon RDS (PostgreSQL) 在 WSO2 EI 6.4.0 docker 容器中进行数据库管理活动。

数据库相关操作工作正常。但间歇性地面临以下异常。

Caused by: java.net.UnknownHostException: yyyy.xxx.us-west-1.rds.amazonaws.com

下面是堆栈跟踪:

[2024-03-25 04:30:08,007] [-1234] [] [pool-28-thread-16661] ERROR {org.apache.synapse.mediators.db.DBLookupMediator} -  SQL Exception occurred while executing statement : select column1,column2 from schema.tabel_name where task_name=? against DataSource : jdbc/DSETL
org.postgresql.util.PSQLException: The connection attempt failed.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:354)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:54)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:263)
    at org.postgresql.Driver.makeConnection(Driver.java:444)
    at org.postgresql.Driver.connect(Driver.java:297)
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
    at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
    at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:730)
    at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:664)
    at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:200)
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128)
    at org.apache.synapse.mediators.db.DBLookupMediator.processStatement(DBLookupMediator.java:58)
    at org.apache.synapse.mediators.db.AbstractDBMediator.mediate(AbstractDBMediator.java:233)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:108)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:70)
    at org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:37)
    at org.apache.synapse.config.xml.SwitchCase.mediate(SwitchCase.java:69)
    at org.apache.synapse.mediators.filters.SwitchMediator.mediate(SwitchMediator.java:134)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:108)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:70)
    at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:169)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:108)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:70)
    at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:104)
    at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:148)
    at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:108)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:70)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
    at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:224)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.startup.tasks.MessageInjector.execute(MessageInjector.java:321)
    at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:98)
    at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.UnknownHostException: yyyy.xxx.us-west-1.rds.amazonaws.com
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.postgresql.core.PGStream.createSocket(PGStream.java:243)
    at org.postgresql.core.PGStream.<init>(PGStream.java:98)
    at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:132)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:258)
    ... 39 more

以下是解决该问题的步骤:

将 postgreSQL 驱动程序从

42.2.0
升级到
42.7.0

在 CAR 项目的
pom.xml
文件中添加下面提到的依赖项并进行部署。

<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.0</version>
</dependency>

但是我仍然间歇性地面临相同的数据库连接问题。

有人可以建议解决此问题的方法吗?

postgresql amazon-web-services docker wso2 wso2-enterprise-integrator
1个回答
0
投票

首先在您的计算机上安装 postgres 并检查您是否可以从您的计算机连接到 rds 服务器。 稍后您可以使用 wso2 中介器进行连接/调试

© www.soinside.com 2019 - 2024. All rights reserved.