I have a business interface being implemented by two EJBs.

UserManagementService

@Remote
public interface UserManagementService {
    // ...
}

UserManagementServiceJpaImpl

@Stateless(name="userManagementServiceJpaImpl")
public class UserManagementServiceJpaImpl implements UserManagementService {

    @EJB(beanName="userManagementDaoJpaImpl")
    private UserManagementDao userManagementDao;

    // ...
}

UserManagementServiceMockImpl

@Stateless(name="userManagementServiceMockImpl")
public class UserManagementServiceMockImpl implements UserManagementService {   

    @EJB(beanName="userManagementDaoMockImpl")
    private UserManagementDao userManagementDao;

    // ...

}

When I deploy the application to Glassfish 3.1 I get the following error:

java.lang.RuntimeException: Error while binding JNDI name com.transbinary.imdb.service.UserManagementService for EJB : userManagementServiceMockImpl
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1550)
    at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
    at org.glassfish.deployment.admin.DeployCommand
Edit
Report