Java Amazon EC2上的结果集不完整

Java Amazon EC2上的结果集不完整,java,postgresql,jdbc,amazon-web-services,amazon-ec2,Java,Postgresql,Jdbc,Amazon Web Services,Amazon Ec2,我在Tomcat上运行JNDI JDBC连接池,托管在AmazonWebServicesEC2上,与AmazonWebServicesPostgreSQL关系数据库通信 我有一个包含40000行数据的表,我正试图使用JDBC PreparedStatement“SELECT*FROM tableName”一次性收集这些数据 这一组合完美无瑕,收集了所有40000行,当我在本地机器上运行servlet(从本地Tomcat)并让它通过db name与RDS对话时。aws RDS URL:5432,然

我在Tomcat上运行JNDI JDBC连接池,托管在AmazonWebServicesEC2上,与AmazonWebServicesPostgreSQL关系数据库通信

我有一个包含40000行数据的表,我正试图使用JDBC PreparedStatement“SELECT*FROM tableName”一次性收集这些数据

这一组合完美无瑕,收集了所有40000行,当我在本地机器上运行servlet(从本地Tomcat)并让它通过db name与RDS对话时。aws RDS URL:5432,然而,当我在aws EC2上运行同一个servlet并指示它与本地vLAN上的RDS对话时,它从未获得超过30000行,结果集只有2000行。每次我刷新它,它都会产生一个新的、不同的、但不完整的行数

下面是我在Tomcat的global context.xml中的条目(我在多个servlet中使用相同的数据源)



有没有关于什么可能会误入歧途的想法?

这根本不是数据库问题。。。我在while(rs.next())循环中添加了一个计数器,每次都得到40000个计数器,而servlet行nums与以前一样变化


我设法通过从Google Guava MapMaker()ConcurrentMap切换到Java ConcurrentHashMap解决了这个问题,但现在我必须再次处理Java HashMap GC内存问题…

获取大小是否可能?不确定,但也许亚马逊为您的查询设置了一些超时时间(弹性=任何东西都不会花费太长时间)-是的,我尝试使用1000;10,000; 和大小,但没有用:(客户端大小内存不足错误是我需要调查的问题,因为我目前使用的是micro EC2实例。您的异常处理是什么?在我看来,您应该在这里看到一个错误,抛出了一个SQLException。我想知道您是否在某处接受异常。它不会抛出任何异常。我非常确定我将所有Postgresql/servlet异常都记录到日志文件中,唯一的条目是我的调试条目,如:DB row nums:13786 servlet row nums:13786,等等。正常情况下,它可以完美地工作,但它只是没有完成工作……我尝试将*翻转出来,查看列名是否破坏了JDBC绑定事情也没有结果,我会继续努力的。
< Resource
name="jdbc/postgres4"
auth="Container"
type="javax.sql.DataSource"
maxActive="8"
maxIdle="8"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://dn-name.aws-rds-URL:5432/SID"
username="db-username"
password="password" />