[jboss-user] [EJB 3.0] - SFSB problem with a SAR
Markley
do-not-reply at jboss.com
Wed Jan 21 04:35:48 EST 2009
Im using Jboss 4.2.1.GA and jdk 1.5.0_15.
Im trying to deploy two "applications" (EAR and SAR) in the same jboss. First of all, when i deploy this two apps in different jboss it work.
Ok. There is an ejb-jar module in EAR. In this module i deploy 3 ejbs 3.0, 2 stateless and 1 stateful.
| @Stateful(name="MyService")
| @Remote(IMyService.class)
| public class IngestionService implements IMyService {
| ....
| }
|
SAR project is a client of this stateful bean. the Jndi lookup code :
| Properties prop = new Properties();
| prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| prop.setProperty(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interface");
| prop.put(Context.PROVIDER_URL, "jnp://localhost" + ":" + "1099");
|
|
| InitialContext jndiContext = new InitialContext(prop);
|
| IMyService ms = (IMyService)jndiContext.lookup("MYAPP/MyService/remote");
|
This lookup cause a classcast exception. Like this :
| java.lang.ClassCastException: $Proxy80
| at schedule.TestScheduler.perform(TestScheduler.java:48)
| at org.jboss.varia.scheduler.Scheduler$Listener.handleNotification(Scheduler.java:1251)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
| at $Proxy11.handleNotification(Unknown Source)
| at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:221)
| at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:184)
| at javax.management.timer.Timer.sendNotification(Timer.java:1295)
| at javax.management.timer.Timer.notifyAlarmClock(Timer.java:1264)
| at javax.management.timer.TimerAlarmClock.run(Timer.java:1347)
| at java.util.TimerThread.mainLoop(Timer.java:512)
| at java.util.TimerThread.run(Timer.java:462)
|
In any other case i get a IMyService reference, but when the same lookup is done in a SAR i get this excepcion. The $Proxy80 is an instance of StatefulRemoteProxy and this proxy does not implement ejb remote interface.
The global JNDI namespace :
| +- MYAPP (class: org.jnp.interfaces.NamingContext)
| | +- AdminService (class: org.jnp.interfaces.NamingContext)
| | | +- local (proxy: $Proxy73 implements interface admin.IAdminService,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| | | +- remote (proxy: $Proxy71 implements interface admin.IAdminService,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
| | +- MyService (class: org.jnp.interfaces.NamingContext)
| | | +- remote (class: java.lang.Object)
| | | +- remoteStatefulProxyFactory (proxy: $Proxy81 implements interface org.jboss.ejb3.ProxyFactory)
| | +- XMLSerializer (class: org.jnp.interfaces.NamingContext)
| | | +- local (proxy: $Proxy77 implements interface jaxb.xmlserializer.ISerializer,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
|
|
I need ideas.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4203534#4203534
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4203534
More information about the jboss-user
mailing list