aspose file tools
The moose likes Websphere and the fly likes Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Websphere
Bookmark "Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb..." Watch "Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb..." New topic
Author

Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb...

Horaci Macias
Ranch Hand

Joined: Nov 08, 2001
Posts: 74
I'm trying to test if my DataSource is well configured, and I'm running this program:
**** CODE BEGIN *****
<pre>import javax.naming.*;
import java.util.*;
public class DSClient {
static String url = "iiop://xxx.xxx.xxx.xxx:900";
public static Context getInitialContext() throws NamingException {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.ejs.ns.jndi.CNInitialContextFactory");
p.put(Context.PROVIDER_URL, url);
return new InitialContext(p);
}
public static void main(String[] args) {
Context ctx = null;
javax.sql.DataSource ds = null;
java.sql.Connection conn = null;
try {
ctx = getInitialContext();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("end getInitialContext");
if (ctx != null) {
System.out.println(ctx.toString());
}
try {
ds = (javax.sql.DataSource) ctx.lookup("jdbc/OracleDS");
System.out.println("DataSource Created!");
System.out.println(ds.toString());
} catch (Exception e) {
e.printStackTrace();
}
try {
conn = ds.getConnection(user, password);
System.out.println("Connection created");
System.out.println("conn = " + conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}</pre>
***** CODE END *****
I'm entering the following line to the command line, under solaris:
***** COMMAND LINE BEGIN *****
<pre>/opt/WebSphere/AppServer/java/jre/bin/java -cp /opt/WebSphere/AppServer/lib/ejs.jar:/opt/WebSphere/AppServer/lib/ujc.jar:./imports.jar:/opt/WebSphere/AppServer/java/jre/lib/classes.zip:./Deployedjetaced_0.5b.jar:. DSClient</pre>
***** COMMAND LINE END *****
where imports.jar are some classes my EJB need to import and Deployedjetaced_0.5b.jar are my EJB deployed.
I get the following exception:
***** EXCEPTION BEGIN *****
<pre>Exception in thread "P=22987:O=0:CT" java.lang.NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryObjectImpl
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass0(Compiled Code)
at java.lang.ClassLoader.defineClass(Compiled Code)
at java.security.SecureClassLoader.defineClass(Compiled Code)
at java.net.URLClassLoader.defineClass(Compiled Code)
at java.net.URLClassLoader.access$1(Compiled Code)
at java.net.URLClassLoader$1.run(Compiled Code)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessController.doPrivileged(Compiled Code)
at java.net.URLClassLoader.findClass(Compiled Code)
at java.lang.ClassLoader.loadClass(Compiled Code)
at sun.misc.Launcher$AppClassLoader.loadClass(Compiled Code)
at java.lang.ClassLoader.loadClass(Compiled Code)
at java.lang.ClassLoader.loadClassInternal(Compiled Code)
at com.ibm.ejs.sm.beans.DataSourceBean$Factory.getObjectInstance(DataSourceBean.java:963)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:310)
at com.ibm.ejs.ns.jndi.CNContextImpl.isReference(CNContextImpl.java:1303)
at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(CNContextImpl.java:801)
at com.ibm.ejs.ns.jndi.CNContextImpl.lookup(CNContextImpl.java:585)
at javax.naming.InitialContext.lookup(InitialContext.java:349)
at DSClient.main(DSClient.java:41)</pre>
***** EXCEPTION END *****
I have one datasource called "OracleDS" and I think it's well configured. If someone finds a mistake in the code or has some code to test DataSources please tell me so.
Thank you
Horaci Macias

[This message has been edited by Horaci Macias (edited November 13, 2001).]
Jim Baiter
Ranch Hand

Joined: Jan 05, 2001
Posts: 532
Looks like you need the jar file containing the com/ibm/ejs/sm/beans/RepositoryObjectImpl class in your client's classpath.
Horaci Macias
Ranch Hand

Joined: Nov 08, 2001
Posts: 74
It really looks like this, but I thought it had all jar necesary files in client's classpath, which are:
%WAS_HOME%\lib\ejs.jar
%WAS_HOME%\lib\ujc.jar
%JAVA_HOME%\lib\classes.zip;
do you know which jar do I need apart from the above �?
Thank you
Horaci Macias
Joe Edwards
Greenhorn

Joined: Jul 12, 2003
Posts: 2
Start with the basics. If you're running under any flavor of UNIX, make sure that the user/group your appserver is running as has read and execute permissions on all the .jar files in ./appserver/lib.
George Secillano
Greenhorn

Joined: Jul 11, 2003
Posts: 7
To me it looks like you are migrating to a newer version of WebSphere.
Try using the following context factory:
com.ibm.websphere.naming.WsnInitialContextFactory
The exception starts during lookup, so it might be that you are getting the wrong initial context in the first place.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb...