I know this has been disucussed before, but I can't seem to
find a relevant thread for this specific exception. The exception is as
follows:
--------- EXCEPTION---------------
ERROR! Shared library ioser12 could not be
found.
java.lang.UnsatisfiedLinkError: specialLoadClass
at com.sun.corba.ee.internal.util.JDKClassLoader.loadClass(JDKClassLoader.java:58)
at com.sun.corba.ee.internal.util.JDKBridge.loadClassM(JDKBridge.java:180)
at com.sun.corba.ee.internal.util.JDKBridge.loadClass(JDKBridge.java:83)
at javax.rmi.CORBA.Util.loadClass(Util.java:215)
at javax.rmi.CORBA.Util.createDelegateIfSpecified(Util.java:306)
at javax.rmi.CORBA.Util.<clinit>(Util.java:54)
at com.sun.corba.ee.internal.corba.ClientDelegate.getServiceContexts(ClientDelegate.java:242)
at com.sun.corba.ee.internal.corba.ClientDelegate.createRequest(Compiled Code)
at com.sun.corba.ee.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:331)
at com.sun.corba.ee.internal.corba.InitialNamingClient.resolve(InitialNamingClient.java:197)
at com.sun.corba.ee.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:278)
at com.sun.corba.ee.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:187)
at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.java:1362)
at com.sun.corba.ee.internal.POA.POAORB.resolve_initial_references(Compiled Code)
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:53)
at com.sun.enterprise.naming.SerialContext.<init>(SerialContext.java:79)
at com.sun.enterprise.naming.SerialInitContextFactory.getInitialContext(SerialInitContextFactory.java:54)
at javax.naming.spi.NamingManager.getInitialContext(Compiled Code)
at javax.naming.InitialContext.getDefaultInitCtx(Compiled Code)
at javax.naming.InitialContext.init(Compiled Code)
at javax.naming.InitialContext.<init>(InitialContext.java:182)
at com.titan.cabin.Client_1.getJ2EERIInitialContext(Client_1.java:59)
at com.titan.cabin.Client_1.getInitialContext(Client_1.java:53)
at com.titan.cabin.Client_1.main(Client_1.java:16)
Exception in thread "main"
java.lang.UnsatisfiedLinkError: specialLoadClass
at com.sun.corba.ee.internal.util.JDKClassLoader.loadClass(JDKClassLoader.java:58)
at com.sun.corba.ee.internal.util.JDKBridge.loadClassM(JDKBridge.java:180)
at com.sun.corba.ee.internal.util.JDKBridge.loadClass(JDKBridge.java:83)
at javax.rmi.CORBA.Util.loadClass(Util.java:215)
at javax.rmi.CORBA.Util.createDelegateIfSpecified(Util.java:306)
at javax.rmi.CORBA.Util.<clinit>(Util.java:54)
at com.sun.corba.ee.internal.corba.ClientDelegate.getServiceContexts(ClientDelegate.java:242)
at com.sun.corba.ee.internal.corba.ClientDelegate.createRequest(Compiled Code)
at com.sun.corba.ee.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:331)
at com.sun.corba.ee.internal.corba.InitialNamingClient.resolve(InitialNamingClient.java:197)
at com.sun.corba.ee.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:278)
at com.sun.corba.ee.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:187)
at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.java:1362)
at com.sun.corba.ee.internal.POA.POAORB.resolve_initial_references(Compiled Code)
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:53)
at com.sun.enterprise.naming.SerialContext.<init>(SerialContext.java:79)
at com.sun.enterprise.naming.SerialInitContextFactory.getInitialContext(SerialInitContextFactory.java:54)
at javax.naming.spi.NamingManager.getInitialContext(Compiled Code)
at javax.naming.InitialContext.getDefaultInitCtx(Compiled Code)
at javax.naming.InitialContext.init(Compiled Code)
at javax.naming.InitialContext.<init>(InitialContext.java:182)
at com.titan.cabin.Client_1.getJ2EERIInitialContext(Client_1.java:59)
at com.titan.cabin.Client_1.getInitialContext(Client_1.java:53)
at com.titan.cabin.Client_1.main(Client_1.java:16)
Exception in thread "main"
-------- END EXCEPTION --------------
I've add the appropriate context code to my code(at leadt I
think its' correct) and I've added the following jars to my
classpath:
jnp-client.jar;jboss-client.jar;jndi.jar
When I deploy my bean it seems to autodeploy ok, but this
errror seems to me like my client isn't even finding my bean. With the exception
of the context code I aded below I not not "configred" this bean work work
specifically with Jboss. Is there somehting I'm missing.
WTF
I'm running winNT, jdk1.2.
---------- CODE --------------
package com.titan.cabin;
import com.titan.cabin.CabinHome;
import com.titan.cabin.Cabin;
import com.titan.cabin.CabinPK;
import com.titan.cabin.Cabin;
import com.titan.cabin.CabinPK;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.NamingException;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.NamingException;
import java.rmi.RemoteException;
import java.util.Properties;
public class Client_1 {
public static void main(String [] args){
try {
Context jndiContext = getInitialContext();
Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");
CabinHome home = (CabinHome) javax.rmi.PortableRemoteObject.narrow(obj, CabinHome.class);
public static void main(String [] args){
try {
Context jndiContext = getInitialContext();
Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");
CabinHome home = (CabinHome) javax.rmi.PortableRemoteObject.narrow(obj, CabinHome.class);
Cabin
cabin_1 =
home.create(1);
System.out.println("created it!");
cabin_1.setName("Master Suite");
cabin_1.setDeckLevel(1);
cabin_1.setShip(1);
cabin_1.setBedCount(3);
CabinPK pk = new CabinPK();
pk.id = 1;
System.out.println("keyed it! ="+ pk);
Cabin cabin_2 = home.findByPrimaryKey(pk);
System.out.println("found by key! ="+ cabin_2);
System.out.println(cabin_2.getName());
System.out.println(cabin_2.getDeckLevel());
System.out.println(cabin_2.getShip());
System.out.println(cabin_2.getBedCount());
System.out.println("created it!");
cabin_1.setName("Master Suite");
cabin_1.setDeckLevel(1);
cabin_1.setShip(1);
cabin_1.setBedCount(3);
CabinPK pk = new CabinPK();
pk.id = 1;
System.out.println("keyed it! ="+ pk);
Cabin cabin_2 = home.findByPrimaryKey(pk);
System.out.println("found by key! ="+ cabin_2);
System.out.println(cabin_2.getName());
System.out.println(cabin_2.getDeckLevel());
System.out.println(cabin_2.getShip());
System.out.println(cabin_2.getBedCount());
} catch
(java.rmi.RemoteException
re){re.printStackTrace();}
catch (javax.naming.NamingException ne){ne.printStackTrace();}
catch (javax.ejb.CreateException ce){ce.printStackTrace();}
catch (javax.ejb.FinderException fe){fe.printStackTrace();}
}
catch (javax.naming.NamingException ne){ne.printStackTrace();}
catch (javax.ejb.CreateException ce){ce.printStackTrace();}
catch (javax.ejb.FinderException fe){fe.printStackTrace();}
}
public static Context getInitialContext()
throws javax.naming.NamingException {
throws javax.naming.NamingException {
Properties prop =
new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");
prop.put(Context.PROVIDER_URL, "localhost");
Context ctx = new InitialContext(prop);
prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");
prop.put(Context.PROVIDER_URL, "localhost");
Context ctx = new InitialContext(prop);
return
getJ2EERIInitialContext();
}
}
public static Context
getJ2EERIInitialContext()
throws javax.naming.NamingException {
throws javax.naming.NamingException {
return new
javax.naming.InitialContext();
}
}
}
