[jboss-user] [EJB 3.0] - Regression: Unable to deploy self referencing EJB3 session b

rradu do-not-reply at jboss.com
Mon Oct 20 03:01:57 EDT 2008


Hello,

I have the following test case that deploys fine in Jboss 4.2.3 but fails to deploy in Jboss 5.0.0-CR2 (all run with JDK 1.6.0_06) on Fedora Core 9.

package test;
  | 
  | import javax.ejb.*;
  | 
  | @EJBs({@EJB(name="TestSessionBean/local",beanInterface=LocalTestSession.class,beanName="TestSessionBean")})
  | @Stateless(name="TestSessionBean")
  | public class TestSessionBean implements LocalTestSession {
  | 	public String test() {
  | 		try {
  | 	        InitialContext ic = new InitialContext();
  | 	        LocalTestSession lc = (LocalTestSession) ic.lookup("java:comp/env/TestSessionBean/local");
  | 	        System.out.println(lc.test1());
  |         } catch (NamingException e) {
  | 	        e.printStackTrace();
  |         }
  | 		return "test";
  | 	}
  | 	
  | 	public String test1() {
  | 		return "test1";
  | 	}
  | 	
  | }
  | 

package test;
  | 
  | import javax.ejb.Local;
  | 
  | @Local
  | public interface LocalTestSession {
  | 	public String test();
  | 	public String test1();
  | }
  | 
The problems seems to be related to the binding of the local interface to the java:comp/env domain. The same problem occurs if I have 2 session beans A and B and the @EJBs annotation in bean A reference bean B and vice-versa. If I just inject the bean reference instead of binding it to the jndi java:comp/env it works fine.

Here is the log from the test case above in jboss 5.0 CR2:

09:57:18,489 WARN  [EjbMetadataJndiPolicyDecoratorDeployer] Defaulting to DefaultJndiBindingPolicy of "org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy" for Session Bean TestSessionBean
  | 09:57:19,173 INFO  [JBossASKernel] Created KernelDeployment for: test.jar
  | 09:57:19,179 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=test.jar,jar=test.jar,name=TestSessionBean,service=EJB3
  | 09:57:19,179 INFO  [JBossASKernel]   with dependencies:
  | 09:57:19,179 INFO  [JBossASKernel]   and demands:
  | 09:57:19,179 INFO  [JBossASKernel] 	jndi:TestSessionBean/local-test.LocalTestSession
  | 09:57:19,179 INFO  [JBossASKernel] 	jboss.ejb:service=EJBTimerService
  | 09:57:19,179 INFO  [JBossASKernel]   and supplies:
  | 09:57:19,179 INFO  [JBossASKernel] 	jndi:TestSessionBean/local-test.LocalTestSession
  | 09:57:19,179 INFO  [JBossASKernel] 	jndi:TestSessionBean/remote
  | 09:57:19,179 INFO  [JBossASKernel] 	jndi:TestSessionBean/local
  | 09:57:19,179 INFO  [JBossASKernel] 	Class:test.LocalTestSession
  | 09:57:19,179 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=test.jar,jar=test.jar,name=TestSessionBean,service=EJB3) to KernelDeployment of: test.jar
  | 09:57:19,227 WARN  [HDScanner] Failed to process changes
  | org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
  | 
  | *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
  | 
  | jboss.j2ee:ear=test.jar,jar=test.jar,name=TestSessionBean,service=EJB3
  |  -> <UNKNOWN jboss.j2ee:ear=test.jar,jar=test.jar,name=TestSessionBean,service=EJB3>{Described:** UNRESOLVED Demands 'jndi:TestSessionBean/local-test.LocalTestSession' **}
  | 
  | 
  | *** CONTEXTS IN ERROR: Name -> Error
  | 
  | <UNKNOWN jboss.j2ee:ear=test.jar,jar=test.jar,name=TestSessionBean,service=EJB3> -> ** UNRESOLVED Demands 'jndi:TestSessionBean/local-test.LocalTestSession' **
  | 
  | 
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:709)
  | 	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:661)
  | 	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:291)
  | 	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
  | 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
  | 	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
  | 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
  | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
  | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
  | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
  | 	at java.lang.Thread.run(Thread.java:619)
  | 

Best Regards,

Radu

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183123#4183123

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183123



More information about the jboss-user mailing list