Уважаемый всех, Я использую java rmi для своей программы, с клиентской стороны я вызываю свой метод интерфейса, передавая один аргумент. Используя этот интерфейс, выполняется запрос и возвращает 40 000 строк (каждая строка содержит 10 строк). Все они хранятся в векторной внутри векторной структуре [[0,1,2,3,4,5,6,7,8 , 9], [], [], [], [], [] ...]. Это происходит, когда я нажимаю одну кнопку. В первый раз его работы, но снова я пытаюсь сделать то же самое (например, нажатие кнопки). Он показывает java.lang.out исключения памяти на стороне клиента. PLS помочь мне. Я использую Postgresql db.исключение из памяти исключение в RMI
Client side:
Vector data = new Vector();
data = Inter.getEndProductDetailsForCopyChain(endProductId);
Server side:
public Vector getEndProductDetailsForCopyChain(int endProductId1)
{
Connection OPConnect = StreamLineConnection.GetStreamline_Connection();
Vector data=new Vector();
try{
System.out.println("Before query data vector size>>>>>>>>"+data.size());//mohan
String sqlQry = "select distinct style_no,version_no,matNo,type,specs,color,size,ref_no,uom1 from garment where id=" +endProductId1;
System.out.println("sqlQry"+ sqlQry);
Statement st=OPConnect.createStatement();
ResultSet rs = st.executeQuery(sqlQry);
while(rs.next()){
Vector row = new Vector();
row.add(rs.getString("style_no"));
row.add(rs.getString("version_no"));
row.add(rs.getString("matNo"));
row.add(rs.getString("type"));
row.add(rs.getString("specs"));
row.add(rs.getString("color"));
row.add(rs.getString("size"));
row.add(rs.getString("ref_no"));
row.add(rs.getString("uom1"));
row.add(new Boolean(false));
data.add(row);
}
System.out.println("After query data vector size>>>>>>>>"+data.size());
}catch(Exception e)
{ e.printStackTrace();
closeConnection(OPConnect);
}
return data;
}
Я очистил все векторы и HashMap после окончания моего процесса, но все еще выбрасывая исключения памяти на стороне клиента, это происходит, когда данные (запрос результата вектор) направлен в сторону клиента.
Почему вы загружаете такие огромные данные в память? –
В соответствии с требованием это необходимо. Я дал только пример запроса. Действительно, это был огромный запрос. – Mohan
Я думаю, что факт, что вы используете Postgresql на сервере, не имеет значения ... «Просто говорю, что для устранения факторов для вас. –