I have a @Stateless bean deployed in an ejb.jar within a ear, and it has to support ejb 2.1 clients, so it has a @RemoteHome annotation:
@Stateless(name = "MyService")
@Remote(MyServiceRemote.class)
@RemoteHome(MyServiceRemoteHome.class)
@Local(MyServiceLocal.class)
public class MyServiceBean implements MyService, MyServiceLocal {
?
}
On jboss 4.0.5.GA, after deploying the app, the jndi view would show the following under ?Global JNDI Namespace? :
+- myear (class: org.jnp.interfaces.NamingContext)
| +- MyService (class: org.jnp.interfaces.NamingContext)
| | +- remoteHome (proxy: $Proxy184 implements interface com...MyServiceRemoteHome)
| | +- local (proxy: $Proxy185 implements interface com...MyServiceLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| | +- remote (proxy: $Proxy183 implements interface com...MyServiceRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
On jboss 4.2.1.GA, the remoteHome entry does not show up under myear/MyService. A new 'MyService' entry appears at same level as 'myear' as follows:
+- MyService (class: org.jnp.interfaces.NamingContext)
| +- home (proxy: $Proxy181 implements interface com...MyServiceRemoteHome)
+- myear (class: org.jnp.interfaces.NamingContext)
| +- MyService (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy185 implements interface com...MyServiceLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| | +- remote (proxy: $Proxy183 implements interface com...MyServiceRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
Is this known behavior? Can I specify the JNDI name for remoteHome in a deployment descriptor to make it consistent with the others?
Thank you