Deploying EJB 3 ear via Farming
marcreis Apr 26, 2006 11:17 AMHi,
my config in short:
I have configured a 4.0.4rc2 to run clustered on one machine with farming for EJB 3 (followed the guides I found in the wiki and the admin guide. Merged the all and EJB 3 clustered installations, which works so far). I have a small test app which I wish to deploy via farming. It consists of an ear, with a HAR, JAR (for EJB 3) and a WAR.
Too sum up the package, it consist of one tiny EJB 3 (marked @Clustered with remote and local interface (bound through the @RemoteBinding and @LocalBinding annotations).
So far, everything works (the ear works for none farming deployment on one instance of the server).
When I deploy the EAR in the /farm Folder the 1st node does fine and deploys the EAR and pushes it to the 2nd node. This one receives the EAR and also starts deploying.
The Problem:
comes up at this point: as the 2nd node starts deploying, it try's to bind the remote and local interfaces to the JNDI tree (HAJndi Tree), which results in a conlict, since they are already bound, on the consol this looks something like this (shortend version):
... 2006-04-26 16:46:43,187 DEBUG [org.jboss.ejb3.ServiceDelegateWrapper] Starting failed jboss.j2ee:ear=testEJB.ear,jar=testEJB.jar,name=NatPerLstBean,service=EJB3 javax.naming.NamingException: Could not bind statless proxy with ejb name NatPerLstBean into JNDI under jndiName: /EJBTEST/NatPerLstBean/remote [Root exception is javax.naming.NameAlreadyBoundException] at org.jboss.ejb3.stateless.BaseStatelessProxyFactory.start(BaseStatelessProxyFactory.java:70) at org.jboss.ejb3.stateless.StatelessClusterProxyFactory.start(StatelessClusterProxyFactory.java:97) at org.jboss.ejb3.ProxyDeployer.start(ProxyDeployer.java:85) at org.jboss.ejb3.SessionContainer.start(SessionContainer.java:85) at org.jboss.ejb3.stateless.StatelessContainer.start(StatelessContainer.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:99) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) ...
ending with
16:46:43,187 INFO [EJB3Deployer] Deployed: file:/C:/work/_programme/jboss-4.0.4 .CR2/server/default2/tmp/deploy/tmp39879testEJB.ear-contents/testEJB.jar 16:46:43,203 INFO [TomcatDeployer] deploy, ctxPath=/testEJBWar, warUrl=.../tmp/ deploy/tmp39879testEJB.ear-contents/testEJBWar-exp.war/ 16:46:43,421 INFO [EARDeployer] Started J2EE application: file:/C:/work/_progra mme/jboss-4.0.4.CR2/server/default2/farm/testEJB.ear 16:46:43,421 ERROR [FarmMemberService] Incomplete Deployment listing: --- MBeans waiting for other MBeans --- ObjectName: jboss.j2ee:ear=testEJB.ear,jar=testEJB.jar,name=NatPerLstBean,servic e=EJB3 State: FAILED Reason: javax.naming.NamingException: Could not bind statless proxy with ejb n ame NatPerLstBean into JNDI under jndiName: /EJBTEST/NatPerLstBean/remote [Root exception is javax.naming.NameAlreadyBoundException] --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM --- ObjectName: jboss.j2ee:ear=testEJB.ear,jar=testEJB.jar,name=NatPerLstBean,servic e=EJB3 State: FAILED Reason: javax.naming.NamingException: Could not bind statless proxy with ejb n ame NatPerLstBean into JNDI under jndiName: /EJBTEST/NatPerLstBean/remote [Root exception is javax.naming.NameAlreadyBoundException]
I thought I had configured all correct so far, but I guess I am missing something... Thanks for any help hint's and links ! :)