当前位置: 首页 > 知识库问答 >
问题:

EJB容器初始化错误

白烨煜
2023-03-14

我正在尝试实现EJB命令来通信两个jsf项目。

我创建了一个EAR,其中有我的两个jsf项目+ejb。

WARNING: StatefulContainerbuilder instantiated store: org.glassfish.ha.store.adapter.file.FileBackingStore@ece71a0; ha-enabled: false ==> BackingStoreConfiguration{clusterName='null', instanceName='null', storeName='Login-88570309275090944-BackingStore', shortUniqueName='88570309275090944', storeType='file', maxIdleTimeInSeconds=-1, relaxVersionCheck='null', maxLoadWaitTimeInSeconds=0, baseDirectoryName='C:\Users\Joff\AppData\Roaming\NetBeans\7.2\config\GF3\domain1\session-store\Login-88570309275090944', keyClazz=interface java.io.Serializable, valueClazz=class org.glassfish.ha.store.util.SimpleMetadata, synchronousSave=false, typicalPayloadSizeInKiloBytes=0, vendorSpecificSettings={start.gms=false, async.replication=true, key.transformer=com.sun.ejb.base.sfsb.util.SimpleKeyGenerator@9bdd877, local.caching=true, value.class.is.thread.safe=true, broadcast.remove.expired=false}}
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
java.lang.RuntimeException: EJB Container initialization error
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:242)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:305)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:108)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
    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.execute(DeployCommand.java:389)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    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:722)
Caused by: java.lang.RuntimeException: Erreur lors de la liaison du nom JNDI EJB.LoginRemote#EJB.LoginRemote pour l'EJB Login
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1553)
    at com.sun.ejb.containers.StatefulSessionContainer.initializeHome(StatefulSessionContainer.java:213)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
    ... 33 more
Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override
    at com.sun.enterprise.naming.impl.TransientContext.doBindOrRebind(TransientContext.java:333)
    at com.sun.enterprise.naming.impl.TransientContext.bind(TransientContext.java:268)
    at com.sun.enterprise.naming.impl.SerialContextProviderImpl.bind(SerialContextProviderImpl.java:98)
    at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.bind(LocalSerialContextProviderImpl.java:99)
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:672)
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:689)
    at javax.naming.InitialContext.bind(InitialContext.java:423)
    at javax.naming.InitialContext.bind(InitialContext.java:423)
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:208)
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:189)
    at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5629)
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1540)
    ... 36 more

SEVERE: Exception while loading the app
SEVERE: Exception while loading the app : EJB Container initialization error
java.lang.RuntimeException: Erreur lors de la liaison du nom JNDI EJB.LoginRemote#EJB.LoginRemote pour l'EJB Login
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1553)
    at com.sun.ejb.containers.StatefulSessionContainer.initializeHome(StatefulSessionContainer.java:213)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:305)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:108)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
    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.execute(DeployCommand.java:389)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    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:722)
Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override
    at com.sun.enterprise.naming.impl.TransientContext.doBindOrRebind(TransientContext.java:333)
    at com.sun.enterprise.naming.impl.TransientContext.bind(TransientContext.java:268)
    at com.sun.enterprise.naming.impl.SerialContextProviderImpl.bind(SerialContextProviderImpl.java:98)
    at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.bind(LocalSerialContextProviderImpl.java:99)
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:672)
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:689)
    at javax.naming.InitialContext.bind(InitialContext.java:423)
    at javax.naming.InitialContext.bind(InitialContext.java:423)
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:208)
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:189)
    at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5629)
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1540)
    ... 36 more

共有1个答案

龚沛
2023-03-14

这不是因为您在两个项目中都有相同的EJB(具有相同的远程接口)吗?当您部署第一个时,它工作得很好。当您部署第二个时,Glassfish会抱怨,因为存在命名冲突。

 类似资料:
  • 我的玻璃鱼在我尝试跑步时抛出一个异常。 [2018-02-22T17:07:04.135 0100][glassfish 5.0][Severy][javax.enterprise.system.core][tid:_ThreadID=46 _ThreadName=admin listener(4)][timeMillis:1519315624135][levelValue:1000][加载应用时

  • 22. 初始化容器 上节课我们学习了容器的健康检查的两个探针:liveness probe(存活探针)和readiness probe(可读性探针)的使用方法,我们说在这两个探针是可以影响容器的生命周期的,包括我们之前提到的容器的两个钩子函数PostStart和PreStop。我们今天要给大家介绍的是Init Container(初始化容器)。 Init Container就是用来做初始化工作的容

  • 一方面,我有一个CronScheduler类,用于每个应用程序启动一次,配置一个TimerService。 另一方面,我有一个繁重的任务(注释为),我想在计时器的中调用该任务。请注意,在计时器中,我创建了一个调用的线程 代码: 结果是被多次调用。注释工作正常吗?

  • 我有一个ejb文件,其中包含一些文件和一个消息驱动bean。 对如何解决这个问题有什么想法吗? 此处的Glassfish服务器错误http://pastebin.com/hkyrfnwe

  • 我已经创建了一个有2个INIT容器的作业荚,我的作业成功完成,但没有INIT容器的迹象 对我来说,作业应该在开始之前等待2个init容器的完成 操作系统为Red Hat Enterprise Linux Server 7.3(Maipo) 提前感谢您的帮助。

  • 我有一个EJB无状态会话Bean。我有以下要求: 这个无状态EJB应该在启动时初始化 初始化代码应该对数据库进行事务性访问 问题是: @Startup仅适用于@Singleton EJB @PostConstruct注释(至少在WebSphere上)在这一点上没有事务性上下文,所以初始化代码在这里爆炸! 可能的解决方案? 使用JavaEE定时器,但它似乎是为周期性执行而设计的。我只想在零点执行一次