Jsf 使用PrimePush EventBus时出现NullPointerException-Primefaces 6.0

Jsf 使用PrimePush EventBus时出现NullPointerException-Primefaces 6.0,jsf,nullpointerexception,primepush,Jsf,Nullpointerexception,Primepush,当我尝试发送事件总线时,如下所示: public void send() { EventBus eventBus = EventBusFactory.getDefault().eventBus(); eventBus.publish(CHANNEL, new FacesMessage(StringEscapeUtils.escapeHtml4(summary), StringEscapeUtils.escapeHtml4(detail)));

当我尝试发送事件总线时,如下所示:

public void send() {
    EventBus eventBus = EventBusFactory.getDefault().eventBus();
    eventBus.publish(CHANNEL, 
        new FacesMessage(StringEscapeUtils.escapeHtml4(summary), 
        StringEscapeUtils.escapeHtml4(detail)));
}
我得到了一个例外:

10:18:50488警告[javax.enterprise.resource.webcontainer.jsf.lifecycle](默认任务-19)java.lang.NullPointerException:javax.el.EleException:
java.lang.NullPointerException
位于com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:187)
位于com.sun.el.parser.AstValue.invoke(AstValue.java:289)
位于com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
位于org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
位于org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
位于org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
位于org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
位于javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
位于javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
在javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)上
位于javax.faces.component.UICommand.broadcast(UICommand.java:300)
位于javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
位于javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
位于com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
在com.sun.faces.lifecycle.LifecycleImpl.execute上(LifecycleImpl.java:198)
位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
位于io.undertow.servlet.handlers.ServletHandler.HandlerRequest(ServletHandler.java:85)
位于io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.HandlerRequest(ServletSecurityRoleHandler.java:62)
位于io.undertow.servlet.handlers.ServletDispatchingHandler.HandlerRequest(ServletDispatchingHandler.java:36)
位于org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.HandlerRequest(SecurityContextAssociationHandler.java:78)
位于io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:43)
位于io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
位于io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.HandlerRequest(ServletAuthenticationCallHandler.java:57)
位于io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:43)
位于io.undertow.security.handler.AbstractSecretentityHandler.HandlerRequest(AbstractSecretentityHandler.java:46)
位于io.undertow.servlet.handlers.security.ServletSecretentityConstraintHandler.HandlerRequest(ServletSecretentityConstraintHandler.java:64)
位于io.undertow.security.handler.AuthenticationMechanismsHandler.HandlerRequest(AuthenticationMechanismsHandler.java:60)
位于io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.HandlerRequest(CachedAuthenticatedSessionHandler.java:77)
位于io.undertow.security.handlers.NotificationReceiverHandler.HandlerRequest(NotificationReceiverHandler.java:50)
位于io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.HandlerRequest(AbstractSecurityContextAssociationHandler.java:43)
位于io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:43)
位于org.wildfly.extension.undertow.security.jacc.jaccontextidhandler.handleRequest(jaccontextidhandler.java:61)
位于io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:43)
位于io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:43)
位于io.undertow.servlet.handlers.ServletiInitialHandler.handleFirstRequest(ServletinInitialHandler.java:284)
位于io.undertow.servlet.handlers.ServletiInitialHandler.dispatchRequest(ServletinInitialHandler.java:263)
在io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
位于io.undertow.servlet.handlers.ServletialHandler$1.HandlerRequest(ServletialHandler.java:174)
位于io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
在io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
在java.lang.Thread.run(Thread.java:745)处,由以下原因引起:java.lang.NullPointerException
在com.notifications.NotificationBean.send上(NotificationBean.java:45)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
... 43多
我尝试在web.xml上使用此选项:


推送Servlet
org.primefaces.push.PushServlet
1.
正如在中所讨论的,但在完成这一行之后,该项目没有更多的工作,也没有启动


有什么想法吗?

我意识到缺少库氛围,因此,我将atmosphere-runtime-2.4.5.jar放在lib文件夹中并添加:

<init-param>
  <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
  <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.broadcasterClass</param-name>
  <param-value>org.atmosphere.cpr.DefaultBroadcaster</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.broadcaster.shareableThreadPool</param-name>
  <param-value>true</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.broadcasterLifeCyclePolicy</param-name>
  <param-value>IDLE_DESTROY</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.recoverFromDestroyedBroadcaster</param-name>
  <param-value>true</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.broadcaster.maxProcessingThreads</param-name>
  <param-value>10</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads</param-name>
  <param-value>10</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.CometSupport.maxInactiveActivity</param-name>
  <param-value>30000</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.util.IOUtils.readGetBody</param-name>
  <param-value>false</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.AtmosphereInitializer.disabled</param-name>
  <param-value>true</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.AtmosphereFramework.analytics</param-name>
  <param-value>false</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.annotation.packages</param-name>
  <param-value>org.primefaces.push</param-value>
</init-param>
<init-param>
  <param-name>org.atmosphere.cpr.packages</param-name>
  <param-value>chartco.fleetmanager.pushendpoint</param-value>
</init-param>

org.atmosphere.cpr.class
org.atmosphere.cache.UUIDBroadcasterCache
org.atmosphere.cpr.class
org.atmosphere.cpr.default广播公司
org.atmosphere.cpr.broadcaster.shareableThreadPool
真的
org.atmosphere.cpr.broadcasterLifeCyclePolicy
闲置的
org.atmosphere.cpr.recoverFromDestroyedBroadcaster
真的
org.atmosphere.cpr.broadcaster.maxProcessingThreads
10
org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads
10
org.atmosphere.cpr.CometSupport.maxInactiveActivity
30000
org.atmosphere.util.IOUtils.readGetBody
假的
org.atmosphere.cpr.AtmosphereInitializer.disabled
真的
org.atmosphere.cpr.AtmosphereFramework.analytics
假的
org.atmosphere.annotation.pack