![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| polosatij |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
хая всем =) вылезки грабли при передачи InputStream из MBean в EJB: Stateless Session Bean. Это по сути два разных jar-a. Стрим открывается из jar-a где находится MBEan. На вход в EJB похоже либо вообще ничего не приходит, либо приходит мусор. попробовал передать Stream из файловой системы:
ошибка:
млин.. второй вариант сделал просто для теста. можно конечно передать просто path, но такой вариант меня не устраивает из за того, что в мою систему приходит большой стреам и сохранять его на жёском мне бы не очень хотелось.. есть у кого какие другие мысли? заранее пасиба |
||||
|
|||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Здравствуй.
Слушай, то ли я толком не понял, что тебе надо. То ли я не все знаю. Но по-моему в спецификации EJB ясно написано, что низя работать с файлами, так как файл-дескрипторы, которые открывает java ссылаются на системные объекты, т.е. в операционку. Да и вообще при вызове EJB-методов в нормальном распределенном приложении неизвестно, с какого места мы получили сам бин. Т.е. в результате лукапа он может приехать и с другой java-машины. Обернуться в RMI-вызов наконец. От сюда делаем выводы: передать в методы бина мы можем только серриализуемы объекты и простые типы. Согласно твоему топику ты передаешь несерриализуемый InputStream. Надо менять логику, что бы в EJB уже передавать объект. Да и разве это бизнес-объект (InputStream), с какими и должны работать бизнес-методы? -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
ты правильно понял.. и я так понимаю, ты прав, возьмём даже ситуацию с удалённым объектом EJB.. конечно же, наврятли ява будет передавать некий поток по сети *рен его знает куда.. хм.. тересна.. но у меня всё бегает на одной машине.. тересна можно ли extends InputStream и implements Serializable.. возможно можно, но вдруг мои рано или поздно решат разделить приложения по разным машинам.. хмммм.. тогда остаётся одно, передать path и на другом конце проверить, есть ли такой в системе.. |
|||
|
||||
| Asal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 26.12.2006 Где: Минск Репутация: 4 Всего: 7 |
помоему при попытке передеть не Serializable сразу вылетает ошибка. Еще не рекомендуется EJB работать с файловой системой на-прямую (так вроде в спеке написано), надо через JNDI (для этого посмотрите Java Naming and Directory Interface (JNDI) File System Service Provider) |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
||||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Если это xml то тебе нужен сервис, который и работает с xml-лями.
А вообще у меня есть тоже такая задача, но пока обратная. Надо получить объекты с базы, запаковать их в xml и отправить по FTP. Я для этих целей юзаю JAXB. Посмотри, мож тебе подойдет. У него также есть возможность из xml сделать java-объекты. Возможно тебе как раз это и надо. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
нет.. спАсибА, мне это не надА // пс: читаю: File System Service Provider, 1.2 Beta 3 |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
дык, может вынести данную логику с EJB?
Вообще, я так вкратце посмотрел на интродакшн Stax, то типа можно стрим получить по урлу, ну и в принципе с любого места в сети или инэте. Т.е. можно и в бизнес-методе это сделать, если он все логику в себе заинкапсулирует, т.е. получение стрима, парсинг и т.д. Тебе нужен именно URL, а не path, что бы не привязываться к операционке -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
||||
|
||||
![]()
|
| Правила форума "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. |