0 Replies Latest reply on Feb 8, 2008 3:52 AM by Joaquin de Vicente

    Deploy Problem

    Joaquin de Vicente Newbie

      Hello,

      I've got a problem to access to a Remote SessionBean with JNDI and EJB 3.0

      In Developt Enviroment (IDE NetBeans 5.5) all works fine. But in Production (Client and Server separates) doesn't work.

      The .ear which I use in Server side is the same that compile NetBeans (in Develop) and is in <JBOSS_HOME>\server\default\deploy

      The .jar which I use in Client side is the same that compile NetBeans (in Develop) and is in <PROYECTO_HOME>\<PROY_NAME>-app-client\dist

      The order to run the client-server that I'm using is:

      java -jar <PROY_NAME>-app-client.jar


      Context in server side is loading like:
      iniCtx = new InitialContext();


      and it's configurated throw parameters as system properties (java -Dclave=valor)

       -Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       -Djava.naming.provider.url=jnp://192.200.10.1:1099
       -Djava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
      


      Client side code:
       private controladorPUsuarios() {
       uBean = lookupUsuariosBean();
       }
      
      
       private Hashtable Contexto() {
       Hashtable env2 = new Hashtable();
       env2.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
       env2.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
       env2.put(Context.PROVIDER_URL, "jnp://localhost:1099");
       return env2;
       }
      
       private UsuariosRemote lookupUsuariosBean() {
       Context iniCtx;
       try {
       Map env = null;
       Set propertiesSet = null;
       Iterator it = null;
      
       iniCtx = new InitialContext();
       env = this.Contexto();
       propertiesSet = env.keySet();
       it = propertiesSet.iterator();
      
       Context ejbCtx = (Context) iniCtx.lookup("");
       return (UsuariosRemote) ejbCtx.lookup("UsuariosBean");
       } catch (NamingException ex) { Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ex);
       throw new RuntimeException(ex);
       } catch (RuntimeException e) {
       e.printStackTrace();
       return null;
       }
       }
      


      Server side code:
       @Stateless
       @RemoteBinding(jndiBinding="UsuariosBean")
       public class UsuariosBean implements UsuariosRemote {
      
       public UsuariosBean() {
       conUsers = IControladorU.getInstance();
       }
      
      
       public Usuarios conectar(String nusuario, String clave)
       {
       return conUsers.conectar(nusuario, clave);
       }
       }
      


      Stack trace error:
      com.gui.funcionalidad.seguridad.controladorPUsuarios lookup UsuariosBean
      GRAVE: exception caught 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
       at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
       at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
       at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
       at javax.naming.InitialContext.lookup(Unknown Source)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.lookupUsuariosBe
      an(controladorPUsuarios.java:78)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.<init>(controlad
      orPUsuarios.java:61)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.<clinit>(control
      adorPUsuarios.java:43)
       at com.gui.pantalla.seguridad.LOGIN.btAceptarActionPerformed(LOGIN.java:
      102)
       at com.gui.pantalla.seguridad.LOGIN.access$000(LOGIN.java:17)
       at com.gui.pantalla.seguridad.LOGIN$1.actionPerformed(LOGIN.java:46)
       at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
       at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
       at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
      ce)
       at java.awt.Component.processMouseEvent(Unknown Source)
       at javax.swing.JComponent.processMouseEvent(Unknown Source)
       at java.awt.Component.processEvent(Unknown Source)
       at java.awt.Container.processEvent(Unknown Source)
       at java.awt.Component.dispatchEventImpl(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
      Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
       at com.gui.pantalla.seguridad.LOGIN.btAceptarActionPerformed(LOGIN.java:
      102)
       at com.gui.pantalla.seguridad.LOGIN.access$000(LOGIN.java:17)
       at com.gui.pantalla.seguridad.LOGIN$1.actionPerformed(LOGIN.java:46)
       at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
       at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
       at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
      ce)
       at java.awt.Component.processMouseEvent(Unknown Source)
       at javax.swing.JComponent.processMouseEvent(Unknown Source)
       at java.awt.Component.processEvent(Unknown Source)
       at java.awt.Container.processEvent(Unknown Source)
       at java.awt.Component.dispatchEventImpl(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
      Caused by: java.lang.RuntimeException: 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
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.lookupUsuariosBean(controladorPUsuarios.java:81)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.<init>(controladorPUsuarios.java:61)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.<clinit>(controladorPUsuarios.java:43)
       ... 28 more
      Caused by: 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
       at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
       at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
       at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
       at javax.naming.InitialContext.lookup(Unknown Source)
       at com.gui.funcionalidad.seguridad.controladorPUsuarios.lookupUsuariosBe
      an(controladorPUsuarios.java:78)
       ... 30 more


      Please, can you help me??