Why are my EJBs mounted in JNDI twice?
johk Apr 24, 2009 3:30 AMWhen I deploy my application to jBoss it seems to work ok. However, looking into JNDI using the JndiView mBean I see that my EJBs appear to be deployed twice. Once at the JNDI root and again within the context of the ear.
Any ideas? Is this normal?
+- UserTransactionSessionFactory (proxy: $Proxy137 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory) +- PublicCommands (class: org.jnp.interfaces.NamingContext) | +- remote-ccc.services.api.Commands (class: Proxy for: ccc.services.api.Commands) | +- remote (class: Proxy for: ccc.services.api.Commands) +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory) +- DataManager (class: org.jnp.interfaces.NamingContext) | +- local (class: Proxy for: ccc.services.DataManager) | +- local-ccc.services.DataManager (class: Proxy for: ccc.services.DataManager) +- persistence.unit:unitName=application-ear-default.ear (class: org.jnp.interfaces.NamingContext) | +- lib (class: org.jnp.interfaces.NamingContext) | | +- core-domain-7.0.0-SNAPSHOT.jar#ccc-persistence (class: org.hibernate.impl.SessionFactoryImpl) +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory) +- ActionExecutor (class: org.jnp.interfaces.NamingContext) | +- local-ccc.services.ActionExecutor (class: Proxy for: ccc.services.ActionExecutor) | +- local (class: Proxy for: ccc.services.ActionExecutor) +- AliasDao (class: org.jnp.interfaces.NamingContext) | +- local-ccc.services.AliasDao (class: Proxy for: ccc.services.AliasDao) | +- local (class: Proxy for: ccc.services.AliasDao) +- PageDao (class: org.jnp.interfaces.NamingContext) | +- local-ccc.services.PageDao (class: Proxy for: ccc.services.PageDao) | +- local (class: Proxy for: ccc.services.PageDao) +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory) +- topic (class: org.jnp.interfaces.NamingContext) +- TemplateDao (class: org.jnp.interfaces.NamingContext) | +- local (class: Proxy for: ccc.services.TemplateDao) | +- local-ccc.services.TemplateDao (class: Proxy for: ccc.services.TemplateDao) +- ClusteredConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory) +- queue (class: org.jnp.interfaces.NamingContext) | +- DLQ (class: org.jboss.jms.destination.JBossQueue) | +- ExpiryQueue (class: org.jboss.jms.destination.JBossQueue) +- ClusteredXAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory) +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction) +- invokers (class: org.jnp.interfaces.NamingContext) | +- kreios (class: org.jnp.interfaces.NamingContext) | | +- iiop (class: org.jboss.invocation.iiop.IIOPInvoker) +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory) +- jmx (class: org.jnp.interfaces.NamingContext) | +- invoker (class: org.jnp.interfaces.NamingContext) | | +- RMIAdaptor (proxy: $Proxy135 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt) | +- rmi (class: org.jnp.interfaces.NamingContext) | | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef) +- Search (class: org.jnp.interfaces.NamingContext) | +- remote-ccc.services.Scheduler (class: Proxy for: ccc.services.Scheduler) | +- local (class: Proxy for: ccc.services.SearchEngine) | +- remote (class: Proxy for: ccc.services.Scheduler) | +- local-ccc.services.SearchEngine (class: Proxy for: ccc.services.SearchEngine) +- JAXR (class: org.apache.ws.scout.registry.ConnectionFactoryImpl) +- application-ear-default (class: org.jnp.interfaces.NamingContext) | +- PublicCommands (class: org.jnp.interfaces.NamingContext) | | +- remote-ccc.services.api.Commands (class: Proxy for: ccc.services.api.Commands) | | +- remote (class: Proxy for: ccc.services.api.Commands) | +- DataManager (class: org.jnp.interfaces.NamingContext) | | +- local (class: Proxy for: ccc.services.DataManager) | | +- local-ccc.services.DataManager (class: Proxy for: ccc.services.DataManager) | +- ActionExecutor (class: org.jnp.interfaces.NamingContext) | | +- local-ccc.services.ActionExecutor (class: Proxy for: ccc.services.ActionExecutor) | | +- local (class: Proxy for: ccc.services.ActionExecutor) | +- AliasDao (class: org.jnp.interfaces.NamingContext) | | +- local-ccc.services.AliasDao (class: Proxy for: ccc.services.AliasDao) | | +- local (class: Proxy for: ccc.services.AliasDao) | +- PageDao (class: org.jnp.interfaces.NamingContext) | | +- local-ccc.services.PageDao (class: Proxy for: ccc.services.PageDao) | | +- local (class: Proxy for: ccc.services.PageDao) | +- TemplateDao (class: org.jnp.interfaces.NamingContext) | | +- local (class: Proxy for: ccc.services.TemplateDao) | | +- local-ccc.services.TemplateDao (class: Proxy for: ccc.services.TemplateDao) | +- Search (class: org.jnp.interfaces.NamingContext) | | +- remote-ccc.services.Scheduler (class: Proxy for: ccc.services.Scheduler) | | +- local (class: Proxy for: ccc.services.SearchEngine) | | +- remote (class: Proxy for: ccc.services.Scheduler) | | +- local-ccc.services.SearchEngine (class: Proxy for: ccc.services.SearchEngine) | +- UserManager (class: org.jnp.interfaces.NamingContext) | | +- local (class: Proxy for: ccc.services.UserManager) | | +- local-ccc.services.UserManager (class: Proxy for: ccc.services.UserManager) | +- PublicQueries (class: org.jnp.interfaces.NamingContext) | | +- remote (class: Proxy for: ccc.services.api.Queries) | | +- remote-ccc.services.api.Queries (class: Proxy for: ccc.services.api.Queries) | +- FolderDao (class: org.jnp.interfaces.NamingContext) | | +- local-ccc.services.FolderDao (class: Proxy for: ccc.services.FolderDao) | | +- local (class: Proxy for: ccc.services.FolderDao) | +- ActionDao (class: org.jnp.interfaces.NamingContext) | | +- local-ccc.services.ActionDao (class: Proxy for: ccc.services.ActionDao) | | +- remote-ccc.services.Scheduler (class: Proxy for: ccc.services.Scheduler) | | +- local (class: Proxy for: ccc.services.ActionDao) | | +- remote (class: Proxy for: ccc.services.Scheduler) +- TomcatAuthenticators (class: java.util.Properties) +- UserManager (class: org.jnp.interfaces.NamingContext) | +- local (class: Proxy for: ccc.services.UserManager) | +- local-ccc.services.UserManager (class: Proxy for: ccc.services.UserManager) +- PublicQueries (class: org.jnp.interfaces.NamingContext) | +- remote (class: Proxy for: ccc.services.api.Queries) | +- remote-ccc.services.api.Queries (class: Proxy for: ccc.services.api.Queries) +- FolderDao (class: org.jnp.interfaces.NamingContext) | +- local-ccc.services.FolderDao (class: Proxy for: ccc.services.FolderDao) | +- local (class: Proxy for: ccc.services.FolderDao) +- ActionDao (class: org.jnp.interfaces.NamingContext) | +- local-ccc.services.ActionDao (class: Proxy for: ccc.services.ActionDao) | +- remote-ccc.services.Scheduler (class: Proxy for: ccc.services.Scheduler) | +- local (class: Proxy for: ccc.services.ActionDao) | +- remote (class: Proxy for: ccc.services.Scheduler)