Ciao a tutti!
Sto cercando di far partire questa applicazione:
E' un esempio che ho trovato su un libro; Enterprise JavaBean 3.0codice:package com.titan.clients; import com.titan.travelagent.TravelAgentRemote; import com.titan.domain.Cabin; import javax.naming.InitialContext; import javax.naming.Context; import javax.naming.NamingException; import java.util.Properties; import javax.rmi.PortableRemoteObject; public class Client { public static void main(String [] args) { try { Context jndiContext = getInitialContext( ); Object ref = jndiContext.lookup("TravelAgentBean/remote"); TravelAgentRemote dao = (TravelAgentRemote) PortableRemoteObject.narrow(ref,TravelAgentRemote.class); Cabin cabin_1 = new Cabin( ); cabin_1.setId(1); cabin_1.setName("Master Suite"); cabin_1.setDeckLevel(1); cabin_1.setShipId(1); cabin_1.setBedCount(3); dao.createCabin(cabin_1); Cabin cabin_2 = dao.findCabin(1); System.out.println(cabin_2.getName( )); System.out.println(cabin_2.getDeckLevel( )); System.out.println(cabin_2.getShipId( )); System.out.println(cabin_2.getBedCount( )); } catch (javax.naming.NamingException ne){ne.printStackTrace( );} } public static Context getInitialContext( ) throws javax.naming.NamingException { Properties p = new Properties( ); p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); p.put(Context.URL_PKG_PREFIXES, " org.jboss.naming:org.jnp.interfaces"); p.put(Context.PROVIDER_URL, "jnp://localhost:1099"); return new javax.naming.InitialContext(p); } }
Il punto è che quando faccio il RUN mi da questo errore:
Utilizzo NetBeans come IDE e Glassfish come Application Server;codice:javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
Sapete spiegarmi a cosa serve il metodo "lookup" e cosa è l'argomento che prende in input???
Se qualcuno sa darmi qualche consiglio ne sarei molto grato!

Rispondi quotando