![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| perceptron01 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
Только недавно начал разбираться со средой JDK и NetBeans. Задача заключается в том, чтобы создать клиент обмена сообщениями.
Создал в GlassFish ConnectionFactory. Вот код доступа к ней:
При попытке доступа, кидает мне эксепшн такого содержания javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial Не могу определить: 1) где хранится этот файл java.naming.factory.initial; 2) И как туда правильно прописывать? Делал попытки прописать в файл *.properties корне каталога проекта что то типа этого
но всеравно не фурычит, так как не совсем понимаю весь смысл этого
Буду рад любым дельным советам |
||||||
|
|||||||
| mbasil |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Найдите по адресу
тут ответ на вопрос How do I access a Remote EJB from a stand-alone java client? Можно проще и вручную: Создайте файл с названием jndi.properties в корневой директории Java проекта и поместите в него следующий контент:
Теперь можно загрузить свойства следующим образом:
Это сообщение отредактировал(а) mbasil - 17.3.2009, 14:00 |
||||
|
|||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
Запустил ваш пример, но получил ошибку такого содержания
javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory] также пробовал зарегистрировать через консоль java -classpath $APS_HOME/lib/appserv-rt.jar:$APS_HOME/lib/javaee.jar: C:\JMSexample\src MainClass Выдало эксепшн, хотя класс "MainClass" есть в той папке и в нем есть main() Exception in thread "main" java.lang.NoClassDefFoundError: MainClass Caused by: java.lang.ClassNotFoundException: MainClass at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Could not find the main class: MainClass Program will exit. Это сообщение отредактировал(а) perceptron01 - 17.3.2009, 17:26 |
|||
|
||||
| mbasil |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Извините, а класс не в пакете ?
В частности тот глупый пример класса, что я привел использует пакет testclient, так что его надо вызывать как testclient.Main Интересно ссылки, на JARы как в UNIX через:
а на C:\JMSexample\src как в Windows ? И еще у вас здесь
после двоеточия стоит пробел ест ли UNIX это ? Это сообщение отредактировал(а) mbasil - 17.3.2009, 18:21 |
||||
|
|||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
Вот только что поместил класс в пакет, но ничего не изменило.
Сам только заметил что по видимому java не различает "/" и "\". Менял и так и сяк, на результат не повлияло( Видимо упустил какую то мелочь... Это сообщение отредактировал(а) perceptron01 - 17.3.2009, 18:26 |
|||
|
||||
| mbasil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Если вы работаете в NetBeans просто подключите библиотеки в свойствах проекта.
Да дело не в косых чертах, Java жрет их так "/" и на Windows Вы в какой операционке работаете. В Windows ссылка на переменную окружающей среды делается с использованием знаков %, а не $ и разделитель в CLASSPATH символ "точка с запятой" Добавлено через 10 минут и 33 секунды Кстати для простоты можете контекст JNDI искать без файла свойств программно :
Это сообщение отредактировал(а) mbasil - 17.3.2009, 18:30 |
|||
|
||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
ну почти заработало, только выкинуло это
Exception in thread "main" java.lang.NoClassDefFoundError: org/netbeans/modules/schema2beans/BaseBean я так понимаю что оно не может найти этот JNDI обьект, который я создал на сервере? |
|||
|
||||
| mbasil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
В консоли Gjassfish есть монитор всех JNDI объектов в текущий момент помещеных в JNDI с их именами. Каждый сервер генерирует внутренним образом свой формат имен. Поищите настоящее имя, скорее всего оно не совпадает с тем, которое вы предполагаете.
|
|||
|
||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
С вашей помощью я разобрался с Контекстом вдоль и в поперек)
Но вот последний эксепшн, никак не могу понять с чем он связан Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/enterprise/admin/monitor/registry/MonitoringLevelListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) ....... Мою ConnectionFactory находит я уверен на все 100, так как если бы не находило выкидывало бы эксепшн такого характера javax.naming.NameNotFoundException: myConneector not found |
|||
|
||||
| mbasil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Тупо, поиском в ОС, нашел это класс в JAR файле appserv-admin.jar
Попробуйте подключить и его. |
|||
|
||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
Все никак не хочет корректно запускаться!
Снова меня обрадовало .. WARNING: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream" org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe ....... Caused by: java.io.IOException: Mismatched serialization UIDs : Source (Rep. IDRMI:com.sun.enterprise.deployment.OrderedSet:B90A5B5267765469:A24145634121AEA9) = A24145634121AEA9 whereas Target (Rep. ID RMI:com.sun.enterprise.deployment.OrderedSet:B90A5B5267765469:05208D7E42793708) = 05208D7E42793708 вот нашел на сайте IBM предположительное решение This is a known problem and results from the way that VA Java generates the serialized version UID for EJB classes. This problem can be corrected by modifying the last 3 or 4 digits of the serialVersionUID that was generated for the bean and primary key classes. Change the last 3 or 4 digits to some unique value, generate the deployed code, and export the jar file. Только мне неясно где изменить этот UID Это сообщение отредактировал(а) perceptron01 - 18.3.2009, 15:45 |
|||
|
||||
| perceptron01 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.3.2009 Где: Киев Репутация: нет Всего: нет |
Огромное спасибо за ваше время!
Хоть и остались некоторые вопросы, но они уже вне темы этого топика Закрываю тему |
|||
|
||||
![]()
|
| Правила форума "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. |