Почему бы не создать экземпляр DoComms
с ранее установленным соединением?
например. строка 44 будет:
DoComms conn_c = new DoComms(server, con);
и DoComms
будут содержать ссылку на это соединение, а затем использовать его в строке 86.
Обратите внимание, что вы получаете соединение, а затем закрываете его в finally
блоке до того, как создадите ваши DoComms
объекты (строка 28). Поэтому вы должны закрыть соединение, как только закончите обрабатывать все. Кратко:
try {
// get connection
// do stuff in threads
}
catch {
// handle
}
finally {
con.close();
}
Если ваше приложение является долговечным, я бы использовал пул соединений (например, C3P0 или Apache DBCP) и открывал / закрывал соединения по мере необходимости. Однако ваш подход вполне может соответствовать вашим требованиям, и на данный момент я бы не беспокоился об этом.