[jboss-user] [JNDI/Naming/Network] - lookup EJB3-beans on JBoss from Eclipse RAP
sandello
do-not-reply at jboss.com
Mon Nov 10 06:50:35 EST 2008
I have a project consists two parts: RAP-based web UI part and
EJB3-server part. Second path consists 23 EJB3-application. All works
fine. The UI-part successfully interact with server-part.
Now I need to add some functionality which interact with other ejb3
application on the same server. I create a simple action:
new Action(){
| @Override
| public void run() {
| Logger debugger = Logger.getLogger(this.getClass()); //Log4j logger
| String DEBUG_STR = "run: ";
| debugger.debug(DEBUG_STR + "start");
| debugger.debug(DEBUG_STR + "security manager " +
| System.getSecurityManager());
| Class<?> forName;
| try {
| forName =
| Class.forName("com.company.docprint.as.mngrs.DocTypeManager");
| debugger.debug(DEBUG_STR + forName);
| forName =
| Class.forName("com.company.docprint.as.mngrs.DocTypeManagerBean");
| debugger.debug(DEBUG_STR + forName);
| forName = Class.forName("org.jboss.ejb3.JBossProxy");
| debugger.debug(DEBUG_STR + forName);
| forName = Class.forName("javax.ejb.EJBObject");
| debugger.debug(DEBUG_STR + forName);
| forName = Class.forName("javax.ejb.EJBAccessException");
| debugger.debug(DEBUG_STR + forName);
|
| Properties props = new Properties();
| props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
| props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
| props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
|
| Context ctx = new InitialContext(props);
| Context c0 = (Context) ctx.lookup("DocManagerBean/remote"); //throws exception
| // Context c0 = (Context) ctx.lookup("AbonentServer/remote"); // works fine
| }
| catch (Exception e) {
| debugger.debug(DEBUG_STR + e, e);
|
| }
| debugger.debug(DEBUG_STR + "stop");
| }
|
| }
|
|
A exception occurs when I try to run this code fragment from
RAP-application.
If I change
Context c0 = (Context) ctx.lookup("DocManagerBean/remote");
|
to
| Context c0 = (Context) ctx.lookup("AbonentServer/remote");
|
all works fine. The "AbonentServer" is the EJB3 from old server-part.
If I run the code fragment from JUnit test case - all works fine.
Exception:
| javax.naming.CommunicationException [Root exception is
| java.lang.ClassNotFoundException:
| com.company.docprint.as.mngrs.DocManager (no security manager: RMI class
| loader disabled)]
| javax.naming.CommunicationException [Root exception is
| java.lang.ClassNotFoundException:
| com.company.docprint.as.mngrs.DocManager (no security manager: RMI class
| loader disabled)]
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:730)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
| at
| com.company.project.ui.abonent.AbonentListView$4.run(AbonentListView.java:118)
| at org.eclipse.jface.action.Action.runWithEvent(Action.java:500)
| at
| org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
| at
| org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:497)
| at
| org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:449)
| at
| org.eclipse.swt.internal.widgets.UntypedEventAdapter.dispatchEvent(UntypedEventAdapter.java:313)
| at
| org.eclipse.swt.internal.widgets.UntypedEventAdapter.widgetSelected(UntypedEventAdapter.java:80)
| at
| org.eclipse.swt.events.SelectionEvent.dispatchToObserver(SelectionEvent.java:174)
| at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:44)
| at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:115)
| at org.eclipse.swt.events.TypedEvent.executeNext(TypedEvent.java:155)
| at
| org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.readAndDispatch(RWTLifeCycle.java:241)
| at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:682)
| at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2388)
| at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2347)
| at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2200)
| at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:425)
| at
| org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
| at
| org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:408)
| at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
| at com.company.project.ui.rap.Application.createUI(Application.java:15)
| at
| org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:92)
| at
| org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:228)
| at
| org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:116)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.ClassNotFoundException:
| com.company.docprint.as.mngrs.DocManager (no security manager: RMI class
| loader disabled)
| at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:531)
| at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
| at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
| at
| sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
| at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
| 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 java.rmi.MarshalledObject.get(MarshalledObject.java:135)
| at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:654)
| ... 26 more
|
Environment:
Eclipse 3.4.1
RAP 1.2M2
Jboss 4.2.1
OS Fedora Linux 8 x86_64
Java 1.5.0_14 x86_64
Where is the problem? Why I can connect to one EJB but can't to other?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4188085#4188085
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4188085
More information about the jboss-user
mailing list