1

运行 Java EE 应用程序使用,

  • GlassFish 服务器 4.1 / Java EE 7
  • 具有 JPA 2.1 的 EclipseLink 2.6.0
  • 莫哈拉 2.3.0-m02
  • PrimeFaces 5.2 最终版
  • OmniFaces 2.1 最终版
  • MySQL 5.6.11
  • JDK 8u45

在重新部署应用程序时偶尔会java.lang.NullPointerException发生频率较低的问题,但不会对应用程序造成任何损害。

Severe:   An exception or error occurred in the container during the request processing
java.lang.NullPointerException
    at org.glassfish.grizzly.http.util.HttpCodecUtils.parseHost(HttpCodecUtils.java:69)
    at org.glassfish.grizzly.http.HttpRequestPacket.doParseHostHeader(HttpRequestPacket.java:723)
    at org.glassfish.grizzly.http.HttpRequestPacket.parseHostHeader(HttpRequestPacket.java:717)
    at org.glassfish.grizzly.http.HttpRequestPacket.serverName(HttpRequestPacket.java:283)
    at org.glassfish.grizzly.http.server.Request.getServerName(Request.java:1246)
    at org.apache.catalina.connector.Request.getServerName(Request.java:1882)
    at org.apache.catalina.connector.RequestFacade.getServerName(RequestFacade.java:535)
    at com.sun.enterprise.web.connector.coyote.PECoyoteConnector.requestEndEvent(PECoyoteConnector.java:1307)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:422)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)

Warning:   GRIZZLY0013: Exception during FilterChain execution
java.lang.NullPointerException
    at org.glassfish.grizzly.attributes.Attribute.remove(Attribute.java:227)
    at org.glassfish.grizzly.http.server.HttpServerFilter.afterService(HttpServerFilter.java:383)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:260)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)

它来自哪里,为什么?我既没有这个例外背后的原因,也没有应用程序似乎对此负责。

4

1 回答 1

0

在我创建了一个专门运行 GF 的新用户并安装了最新版本的 JDK 1.8 之前,我一直遇到这个问题(我正在运行 linux 作为我的操作系统)

我创建了一个用户:gfadmin

创建新用户:useradd -d /home/gfadmin -g staff -s /bin/bash gfadmin

然后从 oracle 下载 JDK 1.8.0_91:( 为您的操作系统和硬件获取适当的 tar.gz 文件) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

将 tar.gz 文件放入/home/gfadmin

gunzip 并解压缩文件。它应该创建一个目录:

/home/gfadmin/jdk1.8.0_91

编辑 gfadmin users.bash_profile文件并添加以下三行:

JAVA_HOME="/home/gfadmin/jdk1.8.0_91"
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH

获取 .bash_profile:

. ./.bash_profile

确认您使用的是刚刚安装的 java 版本 1.8.0_91:

java -version
于 2016-05-12T13:30:03.713 回答