![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Все та же связка = EAR + EJB +WWW
В EJB части есть бин, с Local и Remote интерфейсами. При вызове локального интерфейса из вэб части, все данные передаются нормально. А вот если вызывать через удаленный интерфейс, то данные приходят в размере ~20%, остальные 80% - загадочным образом пропали о_0. На выходе делал проверку, нету там утечки. Подозреваю что все дело именно в способе получения этих данных, а именно через Remote. Господа, внимание вопрос. Куда пропадают данные? Добавлено через 5 минут и 17 секунд Сервер приложений: JBoss 4.2.2 Бин написан на аннотациях (то есть EJB 3.0) ОС: жук повторяется как на Unix так и на Win Java 1.5 --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
туда, куда они не серриализуются... -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
))) Хорошо, тогда уточню вопрос. Почему так происходит? ЗЫ кстати, а вот и не ясно на каком этапе идет краш. На сериализации или десериализации ... --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
завист от того, каково содержимое того, что будет серриализоваться. И совпадает ли серриализуемая форма на сервере и клиенте(это я об общих классах)
Добавлено через 8 минут и 45 секунд Да, такое, если Exception нету знач серриализуемая форма нормальна везде. Показывай то, что ты передаешь, что подлежит серриализации -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Remote Interface
Класс TransitDB
--------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
м-да... Интересный класс. Мало что понятно. И дерево серриализации получается очень большое из-за твоих таких сложных имплементаций.
Тут, конечно, мало чем поможешь: извени -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
А и-за чего могут возникать ошибки при серриализации?
Может если перебрать все варианты, то удастся найти подходящее решение ..... такой себе метод научного тыка. --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Зачем два р? Очень раскатисто звучит Иногда пытаются сериализовать то, что в принципе не сериализуемо - сокетные соединения, ResultSet, соединения с базой данных, т.е. обьекты, выполняющие операции ввода-вывода. Эти обьекты могут иметь буфер, но он не содержит всех данных. Данные туда могут подгружаться динамически по мере необходимости. У вас там какие-то ридеры, райтеры, логгеры. Если это обьекты ввода-вывода, то не пересылайте их, а создавайте заново на приемной стороне. Пересылать имеет смысл только параметры соединения - адрес, порт, путь и т.д. |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
А так как то загадочнее звучит, и более ярко что ли) Это всего лишь названия, не более. То есть они не работают с i/o, а только хранят в себе информацию. Это как контейнер классов в которых хранится конфигурационная информация. --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| MisterCleric |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Доброе утро. Приношу извинения за орфографические ошибки
Как сказал COVD
Где-то какой-то из твоих классов имеет поле, которое попадает под это исключение. Надо проанализировать все вот эти поля в глубь чуть ли не до класса Object
авось, да что-то найдешь... Добавлено через 2 минуты и 11 секунд Ладно, сузим область эти
сериализуемы по спецификации. Инстанс List, созданный тобой через ArrayList тоже таков. А вот инстансы элементов этих листов надо анализировать -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
||||||
|
|||||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Ребята, а что разве при использовании локального(Local) класса не происходит сериализация?
Или это лишь при вызове удаленного(Remote) класса? Это сообщение отредактировал(а) lat - 3.9.2009, 10:36 --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
нет, не происходит. Так как локальные интерфейсы предназначены для работы в той же JVM, а ремоут предназначен для передачи по сети. А дальше, думаю, понятно -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Ну я так и думал, хотя надеялся что ответ будет другой ... тогда б проблема заключалась не в сериализации)
Эх, перелопатил все классы, которые исполь-ся в TransitDB. Вроде не конфликтные. Все наследуют класс Serializable ... А может быть причиной таких сбоев, использование аннотаций в классах (Hibernate) ? --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
нет, аннотации не сериализуются. Они есть часть декларации. может быть ситуация с какой-то вложенной коллекцией в какой-то сущности, которая LazyLoad
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Задача решилась.
Нужно было serialVersionUID поменять в нескольких классах (структура менялась). --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |