users@glassfish.java.net

"Contains no EJBs"...but it does, and no server.log errors

From: <noreply_at_java.net>
Date: Mon, 08 Nov 2010 05:27:13 -0800

Hello; this morning we attempted to deploy our ear file on build 26.

The .ear file has worked fine for weeks.  It consists of a bunch of EJB jars
with their shared dependency jars in the lib directory.

This morning it said that one of those EJB jars was invalid (?) because it
contained no EJBs.  But, of course, it does, and they haven't changed.

The message said to check the server.log for other errors.  There were none.

Here is the stack.  I apologize in advance for any formatting mistakes, as
the forum editor has become (unbelievably) even more brain dead and unusable
than before:

[#|2010-11-08T07:11:11.004-0500|SEVERE|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=17;_ThreadName=Thread-1;|Exception
while deploying the app [ngp-financial-sa-ear-1.0-SNAPSHOT]|#]
[#|2010-11-08T07:11:11.004-0500|SEVERE|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=17;_ThreadName=Thread-1;|Invalid
ejb jar [ngp-constituent-ejb-1.0-SNAPSHOT.jar]: it contains zero ejb. Note:
1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or
message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please
package them as library jar. 3. If the jar file contains valid EJBs which are
annotated with EJB component level annotations (@Stateless, @Stateful,
@MessageDriven, @Singleton), please check server.log to see whether the
annotations were processed properly. java.lang.IllegalArgumentException:
Invalid ejb jar [ngp-constituent-ejb-1.0-SNAPSHOT.jar]: it contains zero ejb.
Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x
style), or message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and
please package them as library jar. 3. If the jar file contains valid EJBs
which are annotated with EJB component level annotations (@Stateless,
@Stateful, @MessageDriven, @Singleton), please check server.log to see
whether the annotations were processed properly. at
com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:76)
at
com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:128)
at
com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:727)
at com.sun.enterprise.deployment.Application.visit(Application.java:1768) at
com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:794)
at
com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:273)
at
com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:239)
at
org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:170)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:93)
at
com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:766)
at
com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:708)
at
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:347)
at
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:243)
at
org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:351)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:354)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:369)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1079)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1256)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1245)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:396)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:216) at
com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168) at
com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:817)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:718) at
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1007) at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:680) |#]
I can't reproduce this in a test case, because I'm not sure how to create a
valid EJB jar that is then treated as invalid.

Is this error "code" for anything else?  Could this indicate a name
collision, or something else entirely?

Thanks,
Laird


--
[Message sent by forum member 'ljnelson']
View Post: http://forums.java.net/node/713753