Arriver Ne peut pas résoudre de référence Local ejb-ref pas la mise en œuvre de parent de l'interface

Je suis à essayer de comprendre pourquoi j'ai besoin pour mettre en œuvre ces deux interfaces afin d'éviter les problèmes de déploiement.

Code Java

ExamplePlanAssembler.java

@Local
public interface ExamplePlanAssembler {
   ExamplePlan toBO(ExamplePlanEntity entity);
}

ExtendedExamplePlanAssembler.java

@Local
public interface ExtendedExamplePlanAssembler 
extends ExamplePlanAssembler{
   ExtExamplePlan toBO(ExamplePlanEntity entity, ExtExamplePlanEntity extEntity);
}

ExtendedExamplePlanAssemblerImpl.java

@Stateless
public class ExtendedExamplePlanAssemblerImpl 
implements ExtendedExamplePlanAssembler {
   /* Method impls removed */
}

ExamplePlanServiceImpl.java

@Stateless
public class ExamplePlanServiceImpl 
implements ExamplePlanService {
   private ExamplePlanAssembler examplePlanAssembler ;
   @EJB
   public void setAssembler(ExamplePlanAssembler examplePlanAssembler) {
       this.examplePlanAssembler = examplePlanAssembler;
    }
}

Erreur De Déploiement

[#|.507-0500|SEVERE|gf3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common
|_ThreadID=83;_ThreadName=Thread-7;|Cannot resolve reference Local ejb-ref name=
com.myco.services.business.ExampleServiceImpl/examplePlanAssembler,Local 3.x interface =
com.myco.services.assembly.ExamplePlanAssembler,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session|#]
[#|.508-0500|SEVERE|gf3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server
|_ThreadID=83;_ThreadName=Thread-7;|Exception while deploying the app [mycoservicesear]|#]
[#|.508-0500|SEVERE|gf3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server
|_ThreadID=83;_ThreadName=Thread-7;|Cannot resolve reference Local ejb-ref name=
com.myco.services.business.ExampleServiceImpl/examplePlanAssembler,Local 3.x interface =
com.myco.services.assembly.ExamplePlanAssembler,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session
java.lang.RuntimeException: Cannot resolve reference Local ejb-ref name=
com.myco.services.business.ExampleServiceImpl/examplePlanAssembler,Local 3.x interface =
com.myco.services.assembly.ExamplePlanAssembler,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session
[#|.516-0500|SEVERE|gf3.1.2|javax...gf.deployment.admin
|_ThreadID=83;_ThreadName=Thread-7;|Exception while deploying the app [mycoservicesear] : Cannot resolve reference Local ejb-ref name=
com.myco.services.business.ExampleServiceImpl/examplePlanAssembler,Local 3.x interface =
com.myco.services.assembly.ExamplePlanAssembler,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session|#]

La Solution?!

Si je change mon interface impl à mettre en œuvre non seulement la ExtendedExamplePlanAssembler de l'interface, mais aussi le parent ExamplePlanAssembler interface, mon déploiement d'erreur disparaît.

ExtendedExamplePlanAssemblerImpl.java (v2)

@Stateless
public class ExtendedExamplePlanAssemblerImpl 
implements ExtendedExamplePlanAssembler,  ExamplePlanAssembler{
/* Method impls removed */
}

La Question

Pourquoi ne l'ajout de l'interface pour les parents de mon implements déclaration de résoudre les problèmes de déploiement?

OriginalL'auteur Snekse | 2012-10-10