Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EJB ошибка приведения типов, Проблема с переходом на EJB 3 
:(
    Опции темы
lazycat
Дата 20.4.2010, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



Доброго времени суток всем!

Помогите пожалуйста разобраться в странной ситуации.
Пишу stateless session bean, вернее, перевожу с EJB 2.0 на EJB 3.0.
Написал Remote Interface. Написал реализацию бина. Сделал jar и поместил на сервер JBoss.
Сервер сказал, под каким именем он его зарегистрировал (допустим для краткости Hello).
Пока все в порядке. 
Пишу клиент.

Код

...
Properties properties = new Properties();
properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs","org.jboss.naming : org.jnp.interfaces");
properties.put("java.naming.provider.url","192.168.0.1:1099");

  javax.naming.Context context = new javax.naming.InitialContext(properties);

  Object ref = context.lookup("HelloBean/remote");

   Hello hw = (Hello)javax.rmi.PortableRemoteObject.narrow(ref, Hello.class);
...


Компилирует нормально. При выполнении в последней строчке исключение
...
 javax.rmi.PortableRemoteObject.narrow(Unknown Source)
...

Не находит Hello.class? Но он у него под носом лежит и текущий каталог в CLASSPATH прописан.
Для верности еще прописал jar, копию того, который был отправлен на сервер. 

Во всех публикациях строка типа Hello hw = (Hello)javax.rmi.PortableRemoteObject.narrow(ref, Hello.class);
ни у кого не вызывает возражений. В EJB 2.0 я так получал домашний интерфейс.
В чем может быть проблема?

Заранее благодарен всем откликнувшимся


PM MAIL   Вверх
MisterCleric
Дата 20.4.2010, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Привет. А какого типа полачется объект 
Цитата

Object ref = context.lookup("HelloBean/remote");




--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
lazycat
Дата 20.4.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



Цитата(MisterCleric @  20.4.2010,  09:34 Найти цитируемый пост)
Привет. А какого типа полачется объект 


Не понял вопроса. Что такое "полачется"?

PM MAIL   Вверх
MisterCleric
Дата 20.4.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Приношу извинения за опечатки. 
Суть сводиться к тому, что в EJB3, то что ты лукапишь в JNDI и есть, то что тебе нужно. Не надо никаких PortableRemoteObject.narrow.

Как ты запускаешь своего клиента? Сервером или руками?


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
lazycat
Дата 20.4.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



Цитата(MisterCleric @  20.4.2010,  13:48 Найти цитируемый пост)
Как ты запускаешь своего клиента? Сервером или руками? 


Руками. Это обычное приложение с методом main()
PM MAIL   Вверх
MisterCleric
Дата 20.4.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Хорошо. А действительно ли CLASSPATH у твоего клиента тот, о котором ты думаешь?


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
lazycat
Дата 20.4.2010, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



Цитата(MisterCleric @  20.4.2010,  14:54 Найти цитируемый пост)
Хорошо. А действительно ли CLASSPATH у твоего клиента тот, о котором ты думаешь? 


Указываю при вызове java 

java -cp .;jbossall-client.jar HelloClient

Даже от отчаяния так:

java -cp .;Hello.jar;jbossall-client.jar HelloClient

здесь Hello.jar - это тот архив, который копировался на сервер. Все архивы лежат в текущем каталоге.

PM MAIL   Вверх
MisterCleric
Дата 20.4.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Странновато: вот это
Цитата

java -cp .;Hello.jar;jbossall-client.jar HelloClient

Должно было помочь, если действительно в Hello.jar лежит Hello.class


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.