java - One EBJ project include another EJB project, then javax.naming.NameAlreadyBoundException -
i have deployed ejb project (named a, having ejb , war modules) on server (glassfish 3.0 on redhat). ejb project (named b) needs use functions of a's xxx-ejb module, included a's ejb module. while deployed b on server, exceptions came:
exception while invoking class org.glassfish.ejb.startup.ejbdeployer load method java.lang.runtimeexception: ejb container initialization error @ org.glassfish.ejb.startup.ejbapplication.loadcontainers(ejbapplication.java:219) @ org.glassfish.ejb.startup.ejbdeployer.load(ejbdeployer.java:197) @ org.glassfish.ejb.startup.ejbdeployer.load(ejbdeployer.java:63) @ org.glassfish.internal.data.moduleinfo.load(moduleinfo.java:175) @ org.glassfish.internal.data.applicationinfo.load(applicationinfo.java:216) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:338) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:183) @ org.glassfish.deployment.admin.deploycommand.execute(deploycommand.java:272) @ com.sun.enterprise.v3.admin.commandrunnerimpl$1.execute(commandrunnerimpl.java:305) @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:320) @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:1176) @ com.sun.enterprise.v3.admin.commandrunnerimpl.access$900(commandrunnerimpl.java:83) @ com.sun.enterprise.v3.admin.commandrunnerimpl$executioncontext.execute(commandrunnerimpl.java:1235) @ com.sun.enterprise.v3.admin.commandrunnerimpl$executioncontext.execute(commandrunnerimpl.java:1224) @ org.glassfish.admingui.common.util.localdeploymentfacility$localdfcommandrunner.run(localdeploymentfacility.java:138) @ org.glassfish.deployment.client.abstractdeploymentfacility.deploy(abstractdeploymentfacility.java:350) @ org.glassfish.admingui.common.util.deployutil.invokedeploymentfacility(deployutil.java:89) @ org.glassfish.admingui.common.util.deployutil.deploy(deployutil.java:66) @ org.glassfish.admingui.common.handlers.deploymenthandler.deploy(deploymenthandler.java:186) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:616) @ com.sun.jsftemplating.layout.descriptors.handler.handler.invoke(handler.java:442) @ com.sun.jsftemplating.layout.descriptors.layoutelementbase.dispatchhandlers(layoutelementbase.java:420) @ com.sun.jsftemplating.layout.descriptors.layoutelementbase.dispatchhandlers(layoutelementbase.java:394) @ com.sun.jsftemplating.layout.event.commandactionlistener.invokecommandhandlers(commandactionlistener.java:150) @ com.sun.jsftemplating.layout.event.commandactionlistener.processaction(commandactionlistener.java:98) @ javax.faces.event.actionevent.processlistener(actionevent.java:88) @ javax.faces.component.uicomponentbase.broadcast(uicomponentbase.java:772) @ javax.faces.component.uicommand.broadcast(uicommand.java:300) @ com.sun.webui.jsf.component.webuicommand.broadcast(webuicommand.java:166) @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:775) @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:1267) @ com.sun.faces.lifecycle.invokeapplicationphase.execute(invokeapplicationphase.java:82) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:118) @ javax.faces.webapp.facesservlet.service(facesservlet.java:312) @ org.apache.catalina.core.standardwrapper.service(standardwrapper.java:1523) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:343) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:215) @ com.sun.webui.jsf.util.uploadfilter.dofilter(uploadfilter.java:223) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:215) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:277) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:188) @ org.apache.catalina.core.standardpipeline.invoke(standardpipeline.java:641) @ com.sun.enterprise.web.webpipeline.invoke(webpipeline.java:97) @ com.sun.enterprise.web.pesessionlockingstandardpipeline.invoke(pesessionlockingstandardpipeline.java:85) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:185) @ org.apache.catalina.connector.coyoteadapter.doservice(coyoteadapter.java:325) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:226) @ com.sun.enterprise.v3.services.impl.containermapper.service(containermapper.java:239) @ com.sun.grizzly.http.processortask.invokeadapter(processortask.java:791) @ com.sun.grizzly.http.processortask.doprocess(processortask.java:693) @ com.sun.grizzly.http.processortask.process(processortask.java:954) @ com.sun.grizzly.http.defaultprotocolfilter.execute(defaultprotocolfilter.java:170) @ com.sun.grizzly.defaultprotocolchain.executeprotocolfilter(defaultprotocolchain.java:135) @ com.sun.grizzly.defaultprotocolchain.execute(defaultprotocolchain.java:102) @ com.sun.grizzly.defaultprotocolchain.execute(defaultprotocolchain.java:88) @ com.sun.grizzly.http.httpprotocolchain.execute(httpprotocolchain.java:76) @ com.sun.grizzly.protocolchaincontexttask.docall(protocolchaincontexttask.java:53) @ com.sun.grizzly.selectionkeycontexttask.call(selectionkeycontexttask.java:57) @ com.sun.grizzly.contexttask.run(contexttask.java:69) @ com.sun.grizzly.util.abstractthreadpool$worker.dowork(abstractthreadpool.java:330) @ com.sun.grizzly.util.abstractthreadpool$worker.run(abstractthreadpool.java:309) @ java.lang.thread.run(thread.java:636) caused by: java.lang.runtimeexception: error while binding jndi name maintree.util.gethourlytrendremote ejb : gethourlytrend @ com.sun.ejb.containers.basecontainer.initializehome(basecontainer.java:1530) @ com.sun.ejb.containers.statelesssessioncontainer.initializehome(statelesssessioncontainer.java:197) @ com.sun.ejb.containers.containerfactoryimpl.createcontainer(containerfactoryimpl.java:161) @ org.glassfish.ejb.startup.ejbapplication.loadcontainers(ejbapplication.java:207) ... 66 more caused by: javax.naming.namealreadyboundexception: use rebind override @ com.sun.enterprise.naming.impl.transientcontext.dobindorrebind(transientcontext.java:275) @ com.sun.enterprise.naming.impl.transientcontext.bind(transientcontext.java:214) @ com.sun.enterprise.naming.impl.serialcontextproviderimpl.bind(serialcontextproviderimpl.java:79) @ com.sun.enterprise.naming.impl.localserialcontextproviderimpl.bind(localserialcontextproviderimpl.java:81) @ com.sun.enterprise.naming.impl.serialcontext.bind(serialcontext.java:586) @ com.sun.enterprise.naming.impl.serialcontext.bind(serialcontext.java:602) @ javax.naming.initialcontext.bind(initialcontext.java:421) @ com.sun.enterprise.naming.impl.glassfishnamingmanagerimpl.publishobject(glassfishnamingmanagerimpl.java:206) @ com.sun.enterprise.naming.impl.glassfishnamingmanagerimpl.publishobject(glassfishnamingmanagerimpl.java:187) @ com.sun.ejb.containers.basecontainer$jndiinfo.publish(basecontainer.java:5533) @ com.sun.ejb.containers.basecontainer.initializehome(basecontainer.java:1515) ... 69 more thus problem should be: how can deploy same ejb modules on same glassfish server twice. or how can let b use a's ejb module without including explicitly?
thanks lot, peter
you should not include ejbs of project project b. should include remote classes of project a.
Comments
Post a Comment