powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SQLException: IOException: Bad packet type
14 сообщений из 14, страница 1 из 1
SQLException: IOException: Bad packet type
    #32844187
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прога работает с бд. Через некоторое время появляется subj + IOException: Unexpected packet.
Внимание вопрос. Куда копать?
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32844557
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста:
1. полный стек
2. какая БД
3. если к БД есть несколько драйверов, то какой использовали
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32844598
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Полного стека, к сожалению, нет. Возможно потом будет.
2) Ora 9.2.0.1 on Win 2000 Server
3) classes12.zip

Вообще говоря, у меня сильное подозрение, что это глюк НЕ бд и НЕ дров.
Подозрение на:
1) прогу. такой глюк стал появляться (не факт) после использования ConnectionPool (с juga.ru взят) вместо постоянного открытия/закрытия соединения.
2) систему. на ней еще крутится порядком - апач, томкат, иса, ...
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32844816
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что у вас крутится Tomcat, ISA и проч. это, я думаю, не причем. Если памяти достаточно, то должно работать без проблем. А вот ConnectionPool - это вполне может быть, если он некорректно выделяет/освобождает соединения. А лимит соединений вы не превышаете ? Хороший ConnectionPool должен поставить запрос на новое соединение в очередь если нет свободных. А как в этом смысле ведет ваш ?
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845410
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabТо, что у вас крутится Tomcat, ISA и проч. это, я думаю, не причем. Если памяти достаточно, то должно работать без проблем. А вот ConnectionPool - это вполне может быть, если он некорректно выделяет/освобождает соединения. А лимит соединений вы не превышаете ? Хороший ConnectionPool должен поставить запрос на новое соединение в очередь если нет свободных. А как в этом смысле ведет ваш ?
Он не ставит запрос в очередь, а создает новое соединение.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
 public   class  DBConnectionPool  implements  ConnectionPool {
	
	 private  String url;
	 private  String user;
	 private  String pass;
	 private   static  DBConnectionPool instance =  null ;
	 private  ArrayList freeConnections =  null ;


	 private  DBConnectionPool(String url, String user, String pass,  int  conNumber) {
		 this .url = url;
		 this .user = user;
		 this .pass = pass;
		loadDriver();
		freeConnections =  new  ArrayList(conNumber);
		 for  ( int  i= 0 ; i<conNumber; i++) {
			Connection conn =  null ;
			 try  {
				conn = newConnection();
				conn.setAutoCommit(false);
			}  catch  (Exception e) {
				e.printStackTrace();
			} //try
			freeConnections.add(conn);
		} //for
	}


	 private   void  loadDriver() {
		 try  {
			Driver driver = (Driver) Class .forName("oracle.jdbc.driver.OracleDriver").newInstance();
			DriverManager.registerDriver(driver);
		}  catch  (Exception e) {
			e.printStackTrace();
		} //try
	}


	 public   static   synchronized  DBConnectionPool getInstance(String url, String user, String pass,  int  conNumber) {
		 if  (instance ==  null ) {
			instance =  new  DBConnectionPool(url, user, pass, conNumber);
		}
		 return  instance;
	};


	 public   synchronized  Connection getConnection() {
		Connection conn =  null ;
		 if  (!freeConnections.isEmpty()) {
			conn = (Connection)freeConnections.get(freeConnections.size() -  1 );			
			freeConnections.remove(conn);
			 try  {
				 if  (conn.isClosed()) {
					conn = getConnection();
				}
			}  catch  (Exception e) {
				conn = getConnection();
			} //try
		}  else  {
			conn = newConnection();
		}
		 return  conn;
	}


	 private  Connection newConnection() {
		Connection conn =  null ;
		 try  {
			conn = DriverManager.getConnection(url, user, pass);
		}  catch  (Exception e) {
			e.printStackTrace();
			 return   null ;
		} //try
		 return  conn;
	}


	 public   synchronized   void  freeConnection(Connection conn) {
		 if  (conn !=  null ) {
			 try  {
				conn.commit();
			}  catch  (Exception e) {
			} //try
			freeConnections.add(conn);
		}
	}


	 public   synchronized   void  release() {
		Iterator i = freeConnections.iterator();
		 while  (i.hasNext()) {
			Connection conn = (Connection)i.next();
			 try  {
				conn.close(); conn =  null ;
			}  catch  (Exception e) {
				e.printStackTrace();
			} //try
		} // while
		freeConnections.clear();
	}
};
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845452
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тимм, а чего с апачевским не работаешь?

--
Lacrima Mosa Est
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845457
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Грасоff™Тимм, а чего с апачевским не работаешь?

--
Lacrima Mosa Est
Да хз :). Хочу чтобы этот работал.
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845463
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У-у-у-у батенька ! Это есть очень не эстетично и чревато. Если хотите, посмотрите мой класс ConectionPool в прилагаемом файле (там еще много всякой всячины, но я не стал чистить, чтобы случайно не грохнуть нужный код).
Писал давно, еще в начале своей java-карьеры, так что код не совсем "отрефакториченный", но рабочий.
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845469
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что есть "не эстетично"? И чем это чревато? Поконкретнее, плиз.
Архив что-то не могу открыть. Какой архиватор?
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845494
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет не эстетично - метафора :) Код красивый и эстетичный. А вот идея выделять новое соединение при всяком запросе пользователей - именно это не эстетично и чревато. Соединения плодятся. Впрочем, м.б. я не очень внимательно смотрел ваш код и в этом смысле там все нормально. Просто конец года - работы валом, так что простите.
Файл, который я приложил, не архивированный. Это обычный текстовый файл исходника с расширением java. Так что не разархивируйте его, а пользуте так как есть. Я проверил и скачал его - файл не битый. Если все-таки не получается стянуть, напишите мне на avtornikov<at>iig.ru и я замылю прямо вам.
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32845548
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabидея выделять новое соединение при всяком запросе пользователей - именно это не эстетично и чревато
Запросы "почти" не пользовательские, а мои. Они не плодятся часто.
За код спасибо, почитаю.
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32847872
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что, коллега, победили трабл ? Поделитесь, что это было - вдруг кому пригодится :)
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32847886
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая ошибка пока не появлялась. Надеюсь, сама вылечилась :)
...
Рейтинг: 0 / 0
SQLException: IOException: Bad packet type
    #32848099
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Блажен кто верует". Удачи
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / SQLException: IOException: Bad packet type
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]