quality@glassfish.java.net

EAR working on v2.1 fails do deploy on v3-b66

From: Paul MERLIN <eskatos_at_n0pe.org>
Date: Fri, 9 Oct 2009 15:17:01 +0200

Hello,

I'm trying to deploy our jee app in gf3-b66. I tried to deploy the exact same ear that is working in a v2.1 install. The
deployment fails with the following log:

[#|2009-10-09T14:50:31.591+0200|SEVERE|glassfish|javax.enterprise.system.core.com.sun.enterprise.v3.server|
_ThreadID=48;_ThreadName=Thread-3;|Exception while deploying the app
java.lang.RuntimeException: Cannot resolve reference Local ejb-ref name=com.acme.foo.ws.BarServiceWS/barService,Local
3.x interface =com.acme.foo.ejb.BarServiceLocal,ejb-link=null,lookup=null,mappedName=,jndi-name=,refType=Session because
there are 3 ejbs in the application with interface com.acme.foo.ejb.BarServiceLocal
        at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:505)
        at com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2344)
        at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:726)
        at com.sun.enterprise.deployment.Application.visit(Application.java:1732)
        at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:766)
        at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:252)
        at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:105)
        at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:35)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:580)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:522)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:232)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:172)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$4.execute(CommandRunnerImpl.java:404)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:419)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1343)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$800(CommandRunnerImpl.java:80)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1393)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1382)
        at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:354)
        at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:194)
        at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
        at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:226)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:753)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:661)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:914)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379)
        at com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360)
        at java.lang.Thread.run(Thread.java:619)
|#]


Where BarServiceWS is a @Stateless @WebService that need a @EJB BarServiceLocal.
I have only one implementation of the BarServiceLocal in my ear, triple checked this.

Could this be a bug or a packaging error from me ? I'm asking here before to fill an issue.

It would be nice that the 3 implementations found gets listed when such an error occurs.

Regards

/Paul