[jboss-user] [JNDI/Naming/Network] - Re: distributed application

vphagura do-not-reply at jboss.com
Sat May 16 23:22:56 EDT 2009


Code where the exception happens is on the 'return line where the cast is:

public FlightReservationAccessorRemote getFlightReservationAccessorRemote() throws NamingException
  | {
  |         return (FlightReservationAccessorRemote)fetchRemoteObject( "flightReservationAccessorRemote", "FlightReservationAccessorBean" );
  | }

Lookup is done here:

private Object fetchRemoteObject(String key, String clsName ) throws NamingException
  |     {
  |         Object ret = null;
  |         if( cache.containsKey( key ))
  |         {
  |             ret = cache.get( key );
  |             log.info( "Got it from CACHE..." );
  |         }
  |         else
  |         {
  |             if( ctx != null )
  |             {
  |             	log.info(clsName );
  |                 ret = ctx.lookup( "reservation/" + clsName + "/remote");
  |                 if( ret != null )
  |                 {
  |                     cache.put( key, ret );
  |                 }
  |             }
  |         }
  |         return ret;
  |     }


Here is the full JNDIView listing from 'Global JNDI Namespace'

+- UserTransactionSessionFactory (proxy: $Proxy103 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
  |   +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)
  |   +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
  |   +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- topic (class: org.jnp.interfaces.NamingContext)
  |   +- reservation (class: org.jnp.interfaces.NamingContext)
  |   |   +- FlightReservationAccessorBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- local (class: Proxy for: com.vsp.reservation.ejb.accessor.FlightReservationAccessor)
  |   |   |   +- local-com.vsp.reservation.ejb.accessor.FlightReservationAccessor (class: Proxy for: com.vsp.reservation.ejb.accessor.FlightReservationAccessor)
  |   |   |   +- remote (class: Proxy for: com.vsp.reservation.ejb.accessor.FlightReservationAccessorRemote)
  |   |   |   +- remote-com.vsp.reservation.ejb.accessor.FlightReservationAccessorRemote (class: Proxy for: com.vsp.reservation.ejb.accessor.FlightReservationAccessorRemote)
  |   |   +- ReservationAccessorBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- local (class: Proxy for: com.vsp.reservation.ejb.accessor.ReservationAccessor)
  |   |   |   +- remote-com.vsp.reservation.ejb.accessor.ReservationAccessorRemote (class: Proxy for: com.vsp.reservation.ejb.accessor.ReservationAccessorRemote)
  |   |   |   +- remote (class: Proxy for: com.vsp.reservation.ejb.accessor.ReservationAccessorRemote)
  |   |   |   +- local-com.vsp.reservation.ejb.accessor.ReservationAccessor (class: Proxy for: com.vsp.reservation.ejb.accessor.ReservationAccessor)
  |   |   +- CarReservationAccessorBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- local (class: Proxy for: com.vsp.reservation.ejb.accessor.CarReservationAccessor)
  |   |   |   +- local-com.vsp.reservation.ejb.accessor.CarReservationAccessor (class: Proxy for: com.vsp.reservation.ejb.accessor.CarReservationAccessor)
  |   |   |   +- remote-com.vsp.reservation.ejb.accessor.CarReservationAccessorRemote (class: Proxy for: com.vsp.reservation.ejb.accessor.CarReservationAccessorRemote)
  |   |   |   +- remote (class: Proxy for: com.vsp.reservation.ejb.accessor.CarReservationAccessorRemote)
  |   |   +- HotelReservationAccessorBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- remote (class: Proxy for: com.vsp.reservation.ejb.accessor.HotelReservationAccessorRemote)
  |   |   |   +- remote-com.vsp.reservation.ejb.accessor.HotelReservationAccessorRemote (class: Proxy for: com.vsp.reservation.ejb.accessor.HotelReservationAccessorRemote)
  |   |   +- CustomerAccessorBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- local (class: Proxy for: com.vsp.reservation.ejb.accessor.CustomerAccessor)
  |   |   |   +- local-com.vsp.reservation.ejb.accessor.CustomerAccessor (class: Proxy for: com.vsp.reservation.ejb.accessor.CustomerAccessor)
  |   |   |   +- remote-com.vsp.reservation.ejb.accessor.CustomerAccessorRemote (class: Proxy for: com.vsp.reservation.ejb.accessor.CustomerAccessorRemote)
  |   |   |   +- remote (class: Proxy for: com.vsp.reservation.ejb.accessor.CustomerAccessorRemote)
  |   +- persistence.unit:unitName=reservation.ear (class: org.jnp.interfaces.NamingContext)
  |   |   +- reservation.jar#reservation(class: org.hibernate.impl.SessionFactoryImpl)
  |   +- ClusteredConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- ProfileService (class: AOPProxy$0)
  |   +- queue (class: org.jnp.interfaces.NamingContext)
  |   |   +- DLQ (class: org.jboss.jms.destination.JBossQueue)
  |   |   +- ExpiryQueue (class: org.jboss.jms.destination.JBossQueue)
  |   +- ClusteredXAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
  |   +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- jmx (class: org.jnp.interfaces.NamingContext)
  |   |   +- invoker (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor (proxy: $Proxy98 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
  |   |   +- rmi (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
  |   +- TomcatAuthenticators (class: java.util.Properties)
  |   +- console (class: org.jnp.interfaces.NamingContext)
  |   |   +- PluginManager (proxy: $Proxy100 implements org.jboss.console.manager.PluginManagerMBean (no security manager: RMI class loader disabled))
  | 
  | Here is the Bean and the Remote interface, in case:
  | 
  | 
  | @Stateless
  |   | public class FlightReservationAccessorBean implements FlightReservationAccessor, FlightReservationAccessorRemote
  |   | {
  |   | 	@PersistenceContext( unitName="reservation" )
  |   | 	EntityManager eMgr;
  |   | 	
  |   | 	public Integer createFlightResevation( Flight flight ) throws Exception
  |   | 	{
  |   | 		eMgr.persist( flight );
  |   | 		return flight.getFlightId();
  |   | 	}
  |   | 
  |   | 	public void deleteFlightResevation( Flight flight ) throws Exception
  |   | 	{
  |   | 		eMgr.remove( flight );
  |   | 	}
  |   | 
  |   | 	@TransactionAttribute(TransactionAttributeType.NEVER)
  |   | 	public Flight findFlightById( Integer id ) throws Exception
  |   | 	{
  |   | 		return eMgr.find( Flight.class, id );
  |   | 	}
  |   | 
  |   | 	public void updateFlightResevation( Flight flight ) throws Exception
  |   | 	{
  |   | 		eMgr.merge( flight );
  |   | 	}
  |   | 
  |   | }
  | 
  | @Remote
  |   | public interface FlightReservationAccessorRemote extends FlightReservation
  |   | {
  |   | }

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4231455#4231455

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4231455



More information about the jboss-user mailing list