[jboss-user] [EJB 3.0] - Re: Multiples Jars with same EJBs
wecucho
do-not-reply at jboss.com
Tue Sep 2 15:31:46 EDT 2008
Code of the EJB (with real names)
Interface:
| package com.ogangi.mimapp3.zone.bean;
|
| import javax.ejb.Remote;
|
| /**
| * Author: cucho
| * Created on: Aug 29, 2008
| **/
| @Remote
| public interface Zone {
|
| public String sayHello();
|
| }
|
Bean:
| package com.ogangi.mimapp3.zone.bean;
|
| import javax.ejb.Stateless;
|
| import com.ogangi.mimapp3.zone.logger.MimappLogger;
|
| /**
| * Author: cucho
| * Created on: Aug 29, 2008
| **/
| @Stateless
| public class ZoneBean implements Zone {
|
| private static final String logTag = "ZoneBean";
|
| public String sayHello() {
|
| // MimappLogger.info(logTag, "Hello from ZoneBean ?");
| System.out.println("miami");
|
| return "Hello from ZoneBean";
| }
|
| }
|
ejb-jar.xml for the first jar
| <?xml version="1.0"?>
| <ejb-jar>
| <description>Mimapp3 Zone Miami</description>
| <display-name>M3Z Miami</display-name>
| <enterprise-beans>
|
| <session>
| <ejb-name>m3z-miami-zone-bean</ejb-name>
| <remote>com.ogangi.mimapp3.zone.bean.Zone</remote>
| <ejb-class>com.ogangi.mimapp3.zone.bean.ZoneBean</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Bean</transaction-type>
| </session>
| </enterprise-beans>
| </ejb-jar>
|
ejb-jar.xml for the second jar
| <?xml version="1.0"?>
| <ejb-jar>
| <description>Mimapp3 Zone Venezuela</description>
| <display-name>M3Z Venezuela</display-name>
| <enterprise-beans>
|
| <session>
| <ejb-name>m3z-venezuela-zone-bean</ejb-name>
| <remote>com.ogangi.mimapp3.zone.bean.Zone</remote>
| <ejb-class>com.ogangi.mimapp3.zone.bean.ZoneBean</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Bean</transaction-type>
| </session>
| </enterprise-beans>
| </ejb-jar>
|
output from running listAll on the JNDIView
| Web Applications
|
| java:comp namespace of the TestApp.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the jboss-web.deployer/ROOT.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the echopointngtest.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the InteractiveTest.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the jmx-console.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the jbossws.sar/jbossws-context.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the deploy-hasingleton/jbossmq-httpil.sar/jbossmq-httpil.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/jbossmq] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/jbossmq/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/jbossmq] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/jbossmq] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the juddi-service.sar/juddi.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- jdbc (class: org.jnp.interfaces.NamingContext)
| | | +- juddiDB[link -> java:/DefaultDS] (class: javax.naming.LinkRef)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the httpha-invoker.sar/invoker.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/jmx-console] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/jmx-console/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/jmx-console] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/jmx-console] (class: javax.naming.LinkRef)
|
|
| java:comp namespace of the console-mgr.sar/web-console.war application:
|
| +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
| +- ORB (class: org.jacorb.orb.ORB)
| +- env (class: org.jnp.interfaces.NamingContext)
| | +- security (class: org.jnp.interfaces.NamingContext)
| | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
| | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
| | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
|
|
| java: Namespace
|
| +- mimapp3 (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
| +- jaas (class: javax.naming.Context)
| | +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext)
| | +- jbossmq (class: org.jboss.security.plugins.SecurityDomainContext)
| | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext)
| +- TransactionPropagationContextImporter (class: com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager)
| +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl)
| +- comp.ejb3 (class: javax.naming.Context)
| | NonContext: null
| +- JBossCorbaNaming (class: org.omg.CosNaming.NamingContextExt)
| +- m3z-miami (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
| +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
| +- StdJMSPool (class: org.jboss.jms.asf.StdServerSessionPoolFactory)
| +- TransactionManager (class: com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate)
| +- JBossCorbaPOA (class: org.omg.PortableServer.POA)
| +- TransactionPropagationContextExporter (class: com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager)
| +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
| +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter)
| +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
| +- JBossCorbaInterfaceRepositoryPOA (class: org.omg.PortableServer.POA)
| +- Mail (class: javax.mail.Session)
| +- comp.original (class: javax.namingMain.Context)
| +- JBossCorbaORB (class: org.omg.CORBA.ORB)
| +- timedCacheFactory (class: javax.naming.Context)
| Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy
| +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory)
| +- m3z-venezuela (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
| +- comp (class: javax.naming.Context)
|
|
| Global JNDI Namespace
|
| +- ZoneBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy162 implements interface com.ogangi.mimapp3.zone.bean.Zone,interface org.jboss.ejb3.JBossProxy)
| +- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
| +- HAPartition (class: org.jnp.interfaces.NamingContext)
| | +- DefaultPartition (class: org.jboss.ha.framework.server.HAPartitionImpl)
| +- SmsServerFacadeManagerBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy125 implements interface com.ogangi.mimapp3.beans.SmsServerFacadeManager,interface org.jboss.ejb3.JBossProxy)
| +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
| +- queue (class: org.jnp.interfaces.NamingContext)
| | +- A (class: org.jboss.mq.SpyQueue)
| | +- testQueue (class: org.jboss.mq.SpyQueue)
| | +- ex (class: org.jboss.mq.SpyQueue)
| | +- DLQ (class: org.jboss.mq.SpyQueue)
| | +- D (class: org.jboss.mq.SpyQueue)
| | +- C (class: org.jboss.mq.SpyQueue)
| | +- B (class: org.jboss.mq.SpyQueue)
| +- TransactionSynchronizationRegistry (class: com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple)
| +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)
| +- JAXR (class: org.apache.ws.scout.registry.ConnectionFactoryImpl)
| +- RouterBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy122 implements interface com.ogangi.mimapp3.beans.Router,interface org.jboss.ejb3.JBossProxy)
| +- m3z-miami-zone-bean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy145 implements interface com.ogangi.mimapp3.zone.bean.Zone,interface org.jboss.ejb3.JBossProxy)
| +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
| +- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
| +- DestinationOperationsBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy116 implements interface com.ogangi.mimapp3.beans.DestinationOperations,interface org.jboss.ejb3.JBossProxy)
| +- UserTransactionSessionFactory (proxy: $Proxy14 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
| +- UILXAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
| +- MMTRouterBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy159 implements interface com.ogangi.mimapp3.zone.bean.MMTRouter,interface org.jboss.ejb3.JBossProxy)
| +- console (class: org.jnp.interfaces.NamingContext)
| | +- PluginManager (proxy: $Proxy57 implements interface org.jboss.console.manager.PluginManagerMBean)
| +- persistence.units:jar=mimapp3-app-server.jar,unitName=mimapp3 (class: org.hibernate.impl.SessionFactoryImpl)
| +- m3z-venezuela-zone-bean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy162 implements interface com.ogangi.mimapp3.zone.bean.Zone,interface org.jboss.ejb3.JBossProxy)
| +- HTTPXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
| +- topic (class: org.jnp.interfaces.NamingContext)
| | +- testDurableTopic (class: org.jboss.mq.SpyTopic)
| | +- testTopic (class: org.jboss.mq.SpyTopic)
| | +- securedTopic (class: org.jboss.mq.SpyTopic)
| +- persistence.units:jar=m3z-venezuela.jar,unitName=m3z-venezuela (class: org.hibernate.impl.SessionFactoryImpl)
| +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
| +- HTTPConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
| +- HASessionState (class: org.jnp.interfaces.NamingContext)
| | +- Default (class: org.jboss.ha.hasessionstate.server.HASessionStateImpl)
| +- ControllerBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy113 implements interface com.ogangi.mimapp3.beans.Controller,interface org.jboss.ejb3.JBossProxy)
| +- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
| +- invokers (class: org.jnp.interfaces.NamingContext)
| | +- gilthanas (class: org.jnp.interfaces.NamingContext)
| | | +- iiop (class: org.jboss.invocation.iiop.IIOPInvoker)
| +- MMTControllerBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy156 implements interface com.ogangi.mimapp3.zone.bean.MMTController,interface org.jboss.ejb3.JBossProxy)
| +- UILConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
| +- jmx (class: org.jnp.interfaces.NamingContext)
| | +- invoker (class: org.jnp.interfaces.NamingContext)
| | | +- RMIAdaptor (proxy: $Proxy56 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)
| +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
| +- persistence.units:jar=m3z-miami.jar,unitName=m3z-miami (class: org.hibernate.impl.SessionFactoryImpl)
| +- MMCOperationsBean (class: org.jnp.interfaces.NamingContext)
| | +- remote (proxy: $Proxy119 implements interface com.ogangi.mimapp3.beans.MMCOperations,interface org.jboss.ejb3.JBossProxy)
| +- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
|
|
| HA-JNDI Namespace
|
|
|
|
client who invoke the ejb:
| package com.ogangi.mimapp3.zone.test;
|
| import java.util.Set;
|
| import javax.management.MBeanServerConnection;
| import javax.management.ObjectInstance;
| import javax.management.ObjectName;
| import javax.naming.InitialContext;
|
| import com.ogangi.mimapp3.zone.bean.MMTRouter;
| import com.ogangi.mimapp3.zone.bean.Zone;
|
|
| /**
| * Author: cucho
| * Created on: Aug 29, 2008
| **/
| public class ZoneTest {
|
|
| public ZoneTest() {
| System.out.println("Start");
|
| callZoneMethod("m3z-miami-zone-bean/remote");
| callZoneMethod("m3z-venezuela-zone-bean/remote");
|
| System.out.println("End");
| }
|
| public void callZoneMethod(String resourceName) {
|
| try {
|
| InitialContext ctx = new InitialContext();
|
| Zone zone = (Zone) ctx.lookup(resourceName);
| zone.sayHello();
|
|
| } catch (Exception e) {
| e.printStackTrace();
| }
|
| }
|
| public void list() {
|
| try {
| InitialContext ctx = new InitialContext();
| MBeanServerConnection mbs = (MBeanServerConnection) ctx.lookup("jmx/invoker/RMIAdaptor");
|
| ObjectName filterName = new ObjectName("");
| Set<ObjectInstance> objectNames = mbs.queryMBeans(filterName, null);
|
| for (ObjectInstance objectInstance : objectNames) {
| String name = objectInstance.getObjectName().getCanonicalName();
| if (name.contains("m3z")) {
| System.out.println(name);
| }
| }
|
| } catch (Exception e) {
| e.printStackTrace();
| }
|
| }
|
| public static void main(String[] args) {
|
| new ZoneTest();
|
| }
|
| }
|
I hope this helps, thx for you fast reply.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4173793#4173793
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4173793
More information about the jboss-user
mailing list