EJB3 и удалённый клиент - проблема
От: KyberProtagonistes  
Дата: 12.06.10 16:07
Оценка:
Netbeans, Glassfish. EJB3 бин.

Отдельно сделал клиент. Использую вот этот мануал: https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html

В classpath добавил gf-client.jar, код клиента:


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloclient;

import com.myexample.HelloWorldBeanRemote;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 *
 * @author darq
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws NamingException {
        
        HelloWorldBeanRemote helloBean = (HelloWorldBeanRemote) new InitialContext().lookup("java:global/HelloEJB/HelloWorldBean");

        System.out.println(helloBean.sayHelloWorld());
    }

}


Если нажать Run прямо в NetBeans, то всё получается:



run:
12.06.2010 19:04:49 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates
INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate
Hello World from the remote SERVER
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 7 секунд)


Но если попробовать запустить файл клиента из командной строки, то получаю ошибку:


Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
        at javax.naming.InitialContext.init(Unknown Source)
        at javax.naming.InitialContext.<init>(Unknown Source)
        at helloclient.Main.main(Main.java:43)
Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory
        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.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
        ... 5 more


Не подскажете, как исправить?
Re: EJB3 и удалённый клиент - проблема
От: 6lackbird Россия  
Дата: 13.06.10 06:41
Оценка:
Здравствуйте, KyberProtagonistes, Вы писали:

KP>Но если попробовать запустить файл клиента из командной строки, то получаю ошибку:



KP>
KP>Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
KP>        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
KP>        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
KP>        at javax.naming.InitialContext.init(Unknown Source)
KP>        at javax.naming.InitialContext.<init>(Unknown Source)
KP>        at helloclient.Main.main(Main.java:43)
KP>Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory
KP>        at java.net.URLClassLoader$1.run(Unknown Source)
KP>        at java.security.AccessController.doPrivileged(Native Method)
KP>        at java.net.URLClassLoader.findClass(Unknown Source)
KP>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
KP>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>        at java.lang.Class.forName0(Native Method)
KP>        at java.lang.Class.forName(Unknown Source)
KP>        at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
KP>        ... 5 more
KP>


KP>Не подскажете, как исправить?


Изучить каманду java, в частности параметр classpath
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Re[2]: EJB3 и удалённый клиент - проблема
От: KyberProtagonistes  
Дата: 13.06.10 07:37
Оценка:
Здравствуйте, 6lackbird, Вы писали:

6>Здравствуйте, KyberProtagonistes, Вы писали:


KP>>Но если попробовать запустить файл клиента из командной строки, то получаю ошибку:



KP>>
KP>>Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
KP>>        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
KP>>        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
KP>>        at javax.naming.InitialContext.init(Unknown Source)
KP>>        at javax.naming.InitialContext.<init>(Unknown Source)
KP>>        at helloclient.Main.main(Main.java:43)
KP>>Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory
KP>>        at java.net.URLClassLoader$1.run(Unknown Source)
KP>>        at java.security.AccessController.doPrivileged(Native Method)
KP>>        at java.net.URLClassLoader.findClass(Unknown Source)
KP>>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>>        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
KP>>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>>        at java.lang.Class.forName0(Native Method)
KP>>        at java.lang.Class.forName(Unknown Source)
KP>>        at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
KP>>        ... 5 more
KP>>


KP>>Не подскажете, как исправить?


6>Изучить каманду java, в частности параметр classpath


Я пробовал писать так:

java -cp "c:\glassfishv3\glassfish\modules\gf-client.jar;c:\glassfishv3\glassfish\lib\javaee.jar;c:\glassfishv3\glassfish\lib\appserv-rt.jar;c:\glassfishv3\glassfish\lib\jndi-properties.jar" -jar "C:\Users\KyberProtagonistes\Documents\NetBeansProjects\HelloClient\dist\HelloClient.jar"



Но это не помогает...
Re[3]: EJB3 и удалённый клиент - проблема
От: Аноним  
Дата: 13.06.10 12:38
Оценка:
Здравствуйте, KyberProtagonistes, Вы писали:

KP>Здравствуйте, 6lackbird, Вы писали:


6>>Здравствуйте, KyberProtagonistes, Вы писали:


KP>>>Но если попробовать запустить файл клиента из командной строки, то получаю ошибку:



KP>>>
KP>>>Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
KP>>>        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
KP>>>        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
KP>>>        at javax.naming.InitialContext.init(Unknown Source)
KP>>>        at javax.naming.InitialContext.<init>(Unknown Source)
KP>>>        at helloclient.Main.main(Main.java:43)
KP>>>Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory
KP>>>        at java.net.URLClassLoader$1.run(Unknown Source)
KP>>>        at java.security.AccessController.doPrivileged(Native Method)
KP>>>        at java.net.URLClassLoader.findClass(Unknown Source)
KP>>>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>>>        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
KP>>>        at java.lang.ClassLoader.loadClass(Unknown Source)
KP>>>        at java.lang.Class.forName0(Native Method)
KP>>>        at java.lang.Class.forName(Unknown Source)
KP>>>        at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
KP>>>        ... 5 more
KP>>>


KP>>>Не подскажете, как исправить?


6>>Изучить каманду java, в частности параметр classpath


KP>Я пробовал писать так:


KP>
KP>java -cp "c:\glassfishv3\glassfish\modules\gf-client.jar;c:\glassfishv3\glassfish\lib\javaee.jar;c:\glassfishv3\glassfish\lib\appserv-rt.jar;c:\glassfishv3\glassfish\lib\jndi-properties.jar" -jar "C:\Users\KyberProtagonistes\Documents\NetBeansProjects\HelloClient\dist\HelloClient.jar"
KP>



KP>Но это не помогает...


com.sun.enterprise.naming.SerialInitContextFactory находится в glassfish\modules\glassfish-naming.jar Попробуйте добавить его в CLASSPATH
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.