Glassfish:处理EjbDescriptor java.lang.NullPointerException时出错 [英] Glassfish: Error processing EjbDescriptor java.lang.NullPointerException

查看:835
本文介绍了Glassfish:处理EjbDescriptor java.lang.NullPointerException时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个JEE6应用程序,有几个ejb,每个引用客户端jar。对于大多数这些,我没有任何问题,将其部署到我的Glassfish 3.1.2实例。我有一个,但是,直到我从我的业务层应用程序引用它,它的工作正常。在那里,我从客户端实例化一个对象,就像我在其他工作完美的一样。只有当我在应用程序中引用这个特定的客户端jar,然后尝试部署我从Glassfish获取以下内容:

  [#| 2012-11-08T08:38:22.773-0500 | SEVERE | glassfish3.1.2 | javax.enterprise.system.core.com.sun.enterprise.v3.server | _ThreadID = 46; _ThreadName = Thread-2; |部署时异常该应用程序[rpavis-app-im-1.0-SNAPSHOT] |#] 

[#| 2012-11-08T08:38:22.773-0500 | SEVERE | glassfish3.1.2 | javax.enterprise.system .core.com.sun.enterprise.v3.server | _ThreadID = 46; _ThreadName = Thread-2; |处理错误EjbDescriptor
java.lang.RuntimeException:在com.sun.enterprise处理EjbDescriptor
时出错.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:294)
在com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2578)
在com.sun.enterprise.deployment .EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
在com.sun.enterprise.deployment.Application.visit(Application.java:1765)
在com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:830)
在com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
在com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
在org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
在org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94)
在com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
在com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
在org.glassfish.deployment.admin.DeployCommand.execute(DeployComman d.java:389)
在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 1.execute(CommandRunnerImpl.java:348)
在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand (CommandRunnerImpl.java:363)
在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
在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)
在com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
在com.sun.enterprise.v3。 admin.AdminAdapter.service(AdminAdapter.java:212)
在com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
在com.sun.enterprise.v3。 server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
在com.sun.enterprise.v3。 service.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)
在com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
在com.sun.grizzly。 http.ProcessorTask.process(ProcessorTask.java:1056)
在com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
在com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter( DefaultProtocolChain.java:137)
在com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
在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 。G rizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
在com.sun.grizzly.ContextTask.run(ContextTask.java:71)
在com.sun.grizzly.util.AbstractThreadPool $ Worker。 doWork(AbstractThreadPool.java:532)
在com.sun.grizzly.util.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:513)
在java.lang.Thread.run(Thread.java: 722)
由java.lang.NullPointerException引发的
java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1079)
java.lang.ClassLoader.getClassLoadingLock(ClassLoader。 java:462)
在java.lang.ClassLoader.loadClass(ClassLoader.java:403)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang .ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:356)
在com.su n.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:235)
... 39更多
|#]

[#| 2012-11-08T08 :38:22.782-0500 | SEVERE | glassfish3.1.2 | javax.enterprise.system.tools.admin.org.glassfish.deployment.admin | _ThreadID = 46; _ThreadName = Thread-2; |部署应用程序时出现异常[rpavis- app-im-1.0-SNAPSHOT]:错误处理EjbDescriptor
java.lang.NullPointerException
在java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1079)
在java.lang .ClassLoader.getClassLoadingLock(ClassLoader.java:462)
在java.lang.ClassLoader.loadClass(ClassLoader.java:403)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:410)
在java.lang.ClassLoader.loadClass( ClassLoader.java:410)
在java.lang.ClassLoader.loadClass(ClassLoader.java:356)
在com.sun.enterpr ise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:235)
在com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2578)
在com.sun.enterprise。 deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
在com.sun.enterprise.deployment.Application.visit(Application.java:1765)
在com.sun.enterprise.deployment.archivist。 ApplicationArchivist.validate(ApplicationArchivist.java:830)
在com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
在com.sun.enterprise.deployment.archivist。 ApplicationFactory.openWith(ApplicationFactory.java:240)
在org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
在org.glassfish.javaee.core.deployment。 com.un.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
在com.sun.enterprise.v3.server中的
(DolProvider.java:94) ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
在com.sun.enterprise.v3.server。 ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
在org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 1 .execute(CommandRunnerImpl.java:348)
在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
在com.sun.enterprise.v3.admin.CommandRunnerImpl .doCommand(CommandRunnerImpl.java:1085)
在com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1200(CommandRunnerImpl.java:95)
在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.enterpris e.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
在com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
在com.sun。 grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
在com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
在com.sun。 enterprise.v3.services.impl.ContainerMapper $ Hk2DispatcherCallable.call(ContainerMapper.java:354)
在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)
在com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
在com.sun.grizzly。 DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
在com.sun.grizzly .defaultProtocolChain.execute(DefaultProtocolChain.java:104)
在com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
在com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain .java:79)
在com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
在com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
在com.sun.grizzly.ContextTask.run(ContextTask.java:71)
在com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:532)
在com。 sun.grizzly.util.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:513)
在java.lang.Thread.run(Thread.java:722)
|#]

我已经检查过我知道检查的全部损失。我觉得我错过了一个配置,但在2天后,我只是不知道在哪里。任何人都可以看到任何可以帮助我确定哪里甚至看的错误?



谢谢!!!!

解决方案

我找到答案。原来我有一个参考我在EJB的ejb-jar.xml中删除的一个。特定的引用仅由业务层应用程序使用,因此在进行该更改之前不会被处理。底线,如果您有部署错误,请查看ejb-jar.xml配置文件的根目录,您可能会在那里找到您的答案。


I have a JEE6 application with several ejbs that each reference client jars. For most of these I am having no issue whatsoever getting them deployed to my Glassfish 3.1.2 instance. I have one however, that works fine until I reference it from my business layer application. There I instantiate an object from the client just like I do in the all the other where it works perfectly. Only when I reference this particular client jar in the application and then attempt to deploy I get the following from Glassfish:

[#|2012-11-08T08:38:22.773-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=46;_ThreadName=Thread-2;|Exception while deploying the app [rpavis-app-im-1.0-SNAPSHOT]|#]

[#|2012-11-08T08:38:22.773-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=46;_ThreadName=Thread-2;|Error processing EjbDescriptor
java.lang.RuntimeException: Error processing EjbDescriptor
    at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:294)
    at com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2578)
    at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
    at com.sun.enterprise.deployment.Application.visit(Application.java:1765)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:830)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
    at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
    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.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1079)
    at java.lang.ClassLoader.getClassLoadingLock(ClassLoader.java:462)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:403)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:235)
... 39 more
|#]

[#|2012-11-08T08:38:22.782-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=46;_ThreadName=Thread-2;|Exception while deploying the app [rpavis-app-im-1.0-SNAPSHOT] : Error processing EjbDescriptor
java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1079)
    at java.lang.ClassLoader.getClassLoadingLock(ClassLoader.java:462)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:403)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:235)
    at com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2578)
    at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
    at com.sun.enterprise.deployment.Application.visit(Application.java:1765)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:830)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
    at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
    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)
|#]

I have checked everywhere I know to check and am a total loss. I feel like I am missing a configuration somewhere but after 2 days I just don't know where. Can anyone see anything in this error that would help me determine where to even look?

Thank you!!!!

解决方案

I found the answer. It turns out I had a reference to a piece I had deleted in the ejb-jar.xml of the EJB. The particular reference was only consumed by the business layer application and so was not processed until I made that change. Bottom line, if you have deployment errors, look in the ejb-jar.xml configuration files of the root of the issue and you will likely find your answer there.

这篇关于Glassfish:处理EjbDescriptor java.lang.NullPointerException时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆