Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / AppServer и EJB / 19 сообщений из 19, страница 1 из 1
12.07.2005, 16:32
    #33161820
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Целый день немогу ошибку исправить.
Код: plaintext
javax.naming.NoInitialContextException: Need to specify  class  name in environment or system property, or as an applet parameter, ...
Пример из книги Дейтей. Все вроде по книге.

В EJB reference
CodedName - InterestCalculatorEJB
.....
JNDI Name - InterestCalculator

В sun-specific setting

JNDI Name - InterestCalculator

Ищу его так (как в примере):
Код: plaintext
1.
2.
InitialContext initialContext= new  InitialContext();
Object homeObject=initialContext.lookup("InterestCalculator");
...

Что ему ещё нужно чтоб мой бин найти?
Заранее спасибо.
...
Рейтинг: 0 / 0
12.07.2005, 17:20
    #33161994
slolen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
А что за сервер и какой клиент - web или на Swing?
...
Рейтинг: 0 / 0
12.07.2005, 19:10
    #33162205
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
нуна указать проприетарный для данного сервера класс-фабрику для jndi
и provider url

в коде:
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"com.inqmy.services.jndi.InitialContextFactoryImpl");
properties.put(Context.PROVIDER_URL, "protocol://host:port/....");
Context context = new InitialContext(properties);

или в текущем каталоге файл jndi.properties
java.naming.factory.initial=com.evermind.server.ApplicationClientInitialContextFactory
java.naming.provider.url=ormi://<host>:7777/j2ee/myapp
...
Рейтинг: 0 / 0
13.07.2005, 08:47
    #33162552
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
To Solen на Swing'e. Разве есть разница в поиске?

То jdev333 Ок. Посмотрю.

А вообще можно как нибудь получить список всех зарегистрированных jndi ресурсов?
...
Рейтинг: 0 / 0
13.07.2005, 13:31
    #33163347
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Нифига неработает. Иже кучу примеров из разных книг просмотрел все аналогичные
Код: plaintext
1.
2.
3.
4.
5.
6.
      InitialContext initialContext= new  InitialContext();

      Object homeObject=initialContext.lookup(JNDIname);

      InterestCalculatorHome calculatorHome=(InterestCalculatorHome)
          PortableRemoteObject.narrow(homeObject,InterestCalculatorHome. class );
Может я на самом сервере че то не так прописал? Ну народ подскажите, а то уже руки опускаются. :)
...
Рейтинг: 0 / 0
13.07.2005, 17:59
    #33164407
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Ну так:

1. какие настройки прописаны в jndi.properties?
2. какой используется апп-сервер? ( и на каком порту)
...
Рейтинг: 0 / 0
14.07.2005, 08:53
    #33164921
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
JNDI properties

Compontnt - InterestCalculatorEJB
JNDI name - InterestCalculator

Sun App Server - port 3933
...
Рейтинг: 0 / 0
14.07.2005, 09:25
    #33164995
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
эээ а как насчет
java.naming.factory.initial - то?

нуна вписать класс для Sun App
...
Рейтинг: 0 / 0
14.07.2005, 11:19
    #33165352
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Побродил по сан.ком.
sun.comINITIAL_CONTEXT_FACTORY

public static final java.lang.String INITIAL_CONTEXT_FACTORY

Constant that holds the name of the environment property for specifying the initial context factory to use. The value of the property should be the fully qualified class name of the factory class that will create an initial context.
Откудаж я могу узнать класс для создания контекста. Я так понимаю что для каждого аппсервера свой фактори класс? Или я ошибаюсь?
...
Рейтинг: 0 / 0
14.07.2005, 11:35
    #33165400
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
ТимоНПобродил по сан.ком.
sun.comINITIAL_CONTEXT_FACTORY

public static final java.lang.String INITIAL_CONTEXT_FACTORY

Constant that holds the name of the environment property for specifying the initial context factory to use. The value of the property should be the fully qualified class name of the factory class that will create an initial context.
Откудаж я могу узнать класс для создания контекста. Я так понимаю что для каждого аппсервера свой фактори класс? Или я ошибаюсь?
да, для каждого свой, обычно создается файл jndi.properties и ложится в classpath.
...
Рейтинг: 0 / 0
14.07.2005, 17:37
    #33166814
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
А попробуй lookup("java:comp/env/InterestCalculator"); Вдруг поможет?
...
Рейтинг: 0 / 0
15.07.2005, 10:21
    #33167582
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Пробовал уже. Чето кажется мне у меня какой то баг с JNDI. Недавно постил вопрос про доступ к FireBird'y через жнди, вроде все по докам делал но пинга до сервера БД небыло. Попробую на JBoss'e деплоить может что получится.
Запарился уже...
...
Рейтинг: 0 / 0
15.07.2005, 15:03
    #33168808
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Откудаж я могу узнать класс для создания контекста.

из документации к АппСерверу. Также нуна чтоб этот проприетарный класс был в класспасс приложения. Ну и правильно прописать PROVIDER_URL.

не нуна экперементировать - нуна выполнить два пункта
...
Рейтинг: 0 / 0
15.07.2005, 16:56
    #33169248
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Спасибо. Повнимательнее просмотрел доку, нашел класс и урл :). Бин мой нашелся,
метод один (create), так вот после его выполнения (для получения ссылки) вот такой ексепшн:

java.lang.ClassCastException at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow

Т.е. возвращенное значение не кастится в удаленный интерфейс. А почему?
...
Рейтинг: 0 / 0
18.07.2005, 01:07
    #33170388
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Она не в удаленный интерфейс должно каститься, а в его Home.
...
Рейтинг: 0 / 0
18.07.2005, 08:42
    #33170478
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
То Роман
Вы ошибаетесь. Собственным интерфейсом (EJBHome) создаем экземпляр EJB, получаем на него ссылку. Удаленным интерфейсом (EJBObject) вызываем методы нашего ежбина.

Странно в инете пишут обычно такая ошибка решается обновлением кдассов в джаре или апдейтом сервера. Пока ничего больше ненашел.
...
Рейтинг: 0 / 0
18.07.2005, 14:23
    #33171436
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Странно в инете пишут обычно такая ошибка решается обновлением кдассов в джаре или апдейтом сервера. Пока ничего больше ненашел.
да, часто так и бывает. Нуна бы убедиться в идентичности версий классов задеплоенных на сервер и классов клиента.
...
Рейтинг: 0 / 0
18.07.2005, 14:56
    #33171538
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Дык ежбины в JBuilder'e пишу, классы прям из Builder'ского проекта беру, всегда апдейт делаю. Деплойер сам показывает что обновилось... Клиента прям из Builder'а запускаю. Так что решение с джаром непомогает.

Сервер вроде недавно закачал, апдейтить невижу смысла.

Незнаю уже что и делать теперь. Попробую аппсервер снести, может и получится.
...
Рейтинг: 0 / 0
18.07.2005, 16:19
    #33171821
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AppServer и EJB
Вот штука интересная:
[SRC SessionBean]
public abstract interface SessionBean extends EnterpriseBean {

// Methods
void setSessionContext(SessionContext sessionContext) throws EJBException, RemoteException;
void ejbRemove() throws EJBException, RemoteException;
void ejbActivate() throws EJBException, RemoteException;
void ejbPassivate() throws EJBException, RemoteException;
}[/src]Это интерфейс бина, а где же ejbCreate() метод. У меня ведь после создания ссылки эксепшн вылетает. Почему нет его?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / AppServer и EJB / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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