wood burning stoves 2.0*
The moose likes EJB and other Java EE Technologies and the fly likes Naming Context problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Naming Context problem" Watch "Naming Context problem" New topic

Naming Context problem

A Kumar
Ranch Hand

Joined: Jul 04, 2004
Posts: 979
Hi all,

I am trying to develop a simple session bean and deploy in jbos..but am getting an error while running the client..I was able to deppoy the EJB on the server but the client is giving errors....Can u please tell me Where i have to correct??

The Client

package org.jboss.docs.interest;

import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;

import org.jboss.docs.interest.Interest;
import org.jboss.docs.interest.InterestHome;

/** This simple application tests the 'Interest' Enterprise JavaBean which is
implemented in the package 'org.jboss.docs.interest'. For this to work, the
Bean must be deployed on an EJB server.
class InterestClient
/** This method does all the work. It creates an instance of the Interest EJB on
the EJB server, and calls its `calculateCompoundInterest()' method, then prints
the result of the calculation.
public static void main(String[] args)
// Enclosing the whole process in a single `try' block is not an ideal way
// to do exception handling, but I don't want to clutter the program up
// with catch blocks
System.out.println("Inside the program");

System.out.println("before the context");
// Get a naming context
InitialContext jndiContext = new InitialContext();
System.out.println("Got context");

// Get a reference to the Interest Bean
Object ref = jndiContext.lookup("interest/Interest");
System.out.println("Got reference");

// Get a reference from this to the Bean's Home interface
InterestHome home = (InterestHome)
PortableRemoteObject.narrow(ref, InterestHome.class);

// Create an Interest object from the Home interface
Interest interest = home.create();

// call the calculateCompoundInterest() method to do the calculation
System.out.println("Interest on 1000 units, at 10% per period, compounded over 2 periods is:");
System.out.println(interest.calculateCompoundInterest(1000, 0.10, 2));
catch(Exception e)


End of Client code

The jndi.properties file has the following entries...


java.naming.factory.url.pkgs=org.jboss.naming rg.jnp.interfaces


The error is ...

Error is

Inside the program
before the context
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logging/Logger
at org.jnp.interfaces.NamingContext.<clinit>(NamingContext.java:103)
at org.jnp.interfaces.NamingContextFactory.getInitialContext(NamingContextFactory
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at org.jboss.docs.interest.InterestClient.main(InterestClient.java:30)

I ahve added the properites file to the classpath and run..the class ..

but still...

Appreciate all ur replies...

A Kumar
Arto Pastinen
Ranch Hand

Joined: Dec 13, 2002
Posts: 79
Add jboss/client/jbossall-client.jar to you client classpath.
A Kumar
Ranch Hand

Joined: Jul 04, 2004
Posts: 979
Thanks buddy....It worked fine...i got the rezult..

A Kumar
Ranch Hand

Joined: Jul 04, 2004
Posts: 979
Instead of using a .properties file i tried to supply them

in the source code and it worked..

i made the change in the above code of the client file..

//Add a hashtable

Hashtable props = new Hashtable();
props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
//props.put(Context.URL_PKG_PREFIXES,"org.jboss.naming rg.jnp.interfaces");

System.out.println("Inside the program");

System.out.println("before the context");
// Get a naming context
InitialContext jndiContext =new InitialContext(props);




wood burning stoves
subject: Naming Context problem