Hello there,

I'm running JBoss 4.2.3 GA default server (no mods) and have a EJB 2.1 bean 
deployed in it. Have created a stand-alone remote client to access the bean.

The client tries to do exactly the same as discussed in this post, that is, it 
only depends the jar file containing the bean interfaces (plus 
jbossall-client.jar of course), and it expects to be able to dynamically load 
the implementation classes from the server.

This worked on jboss 4.0.4. However, to get it working on 4.2.3 I had to add 


  |          <invoker-bindings>
  |             <invoker>
  |                
<invoker-proxy-binding-name>stateless-rmi-invoker</invoker-proxy-binding-name>
  |                <jndi-name>DummySessionBean</jndi-name>
  |             </invoker>
  |          </invoker-bindings>
  | 

to jboss.xml

If I don't, I have no problem at all accessing the home interface, nor at 
executing any methods from it, but as soon as the client has to load one of the 
implementation classes from the server it throws a ClassNotFoundException


  | java.lang.reflect.UndeclaredThrowableException
  |     at $Proxy1.makeKnife(Unknown Source)
  |     at com.sysmech.ijamclient.IjamClient.execute(IjamClient.java:75)
  |     at com.sysmech.ijamclient.Main.main(Main.java:59)
  | Caused by: java.lang.ClassNotFoundException: com.dummy.KnifeImpl
  |     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  |     at java.security.AccessController.doPrivileged(Native Method)
  |     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  |     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  |     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
  |     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  |     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  |     at java.lang.Class.forName0(Native Method)
  |     at java.lang.Class.forName(Class.java:242)
  |     at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:585)
  |     at 
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:109)
  |     at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
  |     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
  |     at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
  |     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
  |     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
  |     at org.jboss.invocation.MarshalledValue.get(MarshalledValue.java:91)
  |     at 
org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:196)
  |     at 
org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
  |     at 
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
  |     at 
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
  |     at 
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
  |     at 
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
  |     at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
  | 

The bean method the client is trying to execute looks like:


  |    public Knife makeKnife()
  |    {
  |       return new KnifeImpl();
  |    }
  | 

Being Knife the interface that is available to both the server and the client, 
and KnifeImpl the implementation class only available to the server.

In post dated on the Sat Jan 12, 2008 12:12 PM by newtetris, it was confirmed 
the problem described in this post did not show for EJB 2. Could anyone explain 
how to achieve that without having to change the invoker in jboss.xml?

Cheers,
Enrique.

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

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4233934
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to