问题标签 [primepush]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

jsf - 拒绝主推连接

据我了解 PrimePush 的工作方式,连接到服务器是通过客户端的 javascript 调用发生的。

我担心用户破解 javascript - 试图订阅他们无权访问的频道。

这就是为什么我正在寻找一种优雅的方式来拒绝 PrimePush 连接,如果我能够确定用户无权访问该频道(例如为另一个用户订阅消息)。

如果这可以通过@onOpen 方法实现,那就太好了。

0 投票
1 回答
1804 浏览

jsf-2 - PrimeFaces Push 5.0 与 Wildfly 8.1 不工作

我计划开始使用 PrimeFaces 5.0 附带的 PrimeFaces Push。我尝试使用 Wildfly 8.1 运行与此处http://www.primefaces.org/showcase/push/notify.xhtml相同的示例,但我无法从后端 bean 接收任何推送消息。

这是我在 wildfly 控制台上的内容:

01:50:34,926 INFO [org.atmosphere.cpr.AtmosphereFramework] (Thread-261) Atmosphere JavaScript 客户端 2.2.2 的最新版本 01:50:34,926 INFO [org.atmosphere.cpr.AtmosphereFramework] (Thread-261)

Atmosphere 的当前版本 2.2.0-RC3 Atmosphere 的最新版本 2.1.7

01:50:37,447 错误 [org.atmosphere.interceptor.JavaScriptProtocol](默认任务 61)无效的 Atmosphere 版本 2.2.0-javascript 01:50:37,448 WARN [org.atmosphere.websocket.protocol.SimpleHttpProtocol](默认任务- 61) 状态码大于等于 400 Status 501 Message OK 01:50:41,957 INFO [stdout] (default task-62) 发送消息

01:55:37,760 错误 [org.atmosphere.cpr.AsynchronousProcessor](默认任务 63)无法取消资源:8cf3d711-00c2-4e52-9d78-97cd04c0b585:org.primefaces.push.impl 处的 java.lang.NullPointerException。 PushEndpointHandlerProxy.onStateChange(PushEndpointHandlerProxy.java:241) [primefaces-5.0.jar:5.0] at org.atmosphere.cpr.AsynchronousProcessor.invokeAtmosphereHandler(AsynchronousProcessor.java:492) [atmosphere-runtime-2.2.0-RC3.jar:2.2 .0-RC3] 在 org.atmosphere.cpr.AsynchronousProcessor.completeLifecycle(AsynchronousProcessor.java:444) [atmosphere-runtime-2.2.0-RC3.jar:2.2.0-RC3] 在 org.atmosphere.cpr.AsynchronousProcessor。 endRequest(AsynchronousProcessor.java:548) [atmosphere-runtime-2.2.0-RC3.jar:2.2.0-RC3] at org.atmosphere.websocket.DefaultWebSocketProcessor.executeClose(DefaultWebSocketProcessor.java:676)[atmosphere-runtime-2.2.0-RC3.jar:2.2.0-RC3] at org.atmosphere.websocket.DefaultWebSocketProcessor.close(DefaultWebSocketProcessor.java:628)[atmosphere-runtime-2.2.0-RC3.jar :2.2.0-RC3] 在 org.atmosphere.container.JSR356Endpoint.onClose(JSR356Endpoint.java:221) [atmosphere-runtime-2.2.0-RC3.jar:2.2.0-RC3] 在 io.undertow.websockets。 jsr.UndertowSession.close(UndertowSession.java:181) [undertow-websockets-jsr-1.0.15.Final.jar:1.0.15.Final] 在 io.undertow.websockets.jsr.UndertowSession.close(UndertowSession.java: 171) [undertow-websockets-jsr-1.0.15.Final.jar:1.0.15.Final] 在 io.undertow.websockets.jsr.FrameHandler$1.run(FrameHandler.java:93) [undertow-websockets-jsr- 1.0.15.Final.jar:1.0.15.Final] 在 io.undertow.websockets.jsr.ServerWebSocketContainer$1.run(ServerWebSocketContainer.java:303) [undertow-websockets-jsr-1.0.15.Final.jar:1.0.15.Final] 在 io.undertow.websockets.jsr.OrderedExecutor$ExecutorTask.run(OrderedExecutor.java:49) [undertow-websockets-jsr-1.0.15.Final.jar:1.0.15。最终] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt. jar:1.7.0_55] 在 java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55]java:745) [rt.jar:1.7.0_55]java:745) [rt.jar:1.7.0_55]

这是我的 PrimeFaces 推送的 web.xml 配置:

感谢您为解决此问题提供的帮助。

0 投票
0 回答
1253 浏览

jsf-2 - Primepush + Wildfly 不起作用。Atmosphere 找不到带注释的类

我正在使用下一个配置:

  1. 应用服务器 - Wildfly 9.0
  2. Primefaces 5.1 RC1、Atmosphere 2.2.2 - 作为模块添加(添加了所有依赖项)。我已经停止了这种配置,因为任何其他配置都因大量错误而崩溃。

我将使用 primepush,我已经按照示例http://www.primefaces.org/showcase/push/notify.xhtml完成了所有操作,但它对我不起作用。

我在 primepush conf 中的 web.xml 部分:

我在我的项目类中使用@PushEndpoint 进行了注释,在 xhtml 文件中我将套接字连接到同一个通道。部署后我没有任何错误,但第一行有一个奇怪的字符串

谷歌搜索后,我找到了添加到我的 web.xml 的解决方案

一切都部署得很好,但是当我使用发送消息时

这是我在wildfly控制台上得到的:

无论如何,websockets 不适合我......

请告知如何解决这个问题。

PS我刚刚重复了wildfly 8.1 Final的所有步骤。我有相同的图片 - 所有错误都与 wildfly 9.0 案例中的一样....

PPS 模块.xml

气氛

素面

0 投票
0 回答
953 浏览

tomcat - 为tomcat配置primefaces推送服务器

我正在研究主要的面孔。我已经开始推primefaces了。现在,当我尝试将一些数据发布到频道时,没有任何答案表明它正在工作!经过一番谷歌搜索,发现它可能需要一个与 jsf webapp 分开的 webapp: primefaces push server config

我还注意到,在 PF 用户指南中提到了代理和 primefaces.PUSH_SERVER_URL 的使用;所以将 web.xml 中的这个参数设置为"http://localhost:8080"; 因为在设置此参数之前浏览器说无法建立与推送服务器的连接(错误 404)!我写了一些例子,也使用了 primefaces 展示案例。但面临的问题:

我想tomcat本身存在一些问题(我的意思是配置)。我想知道是否需要创建和配置一个新的网络应用程序。如果是这样怎么办?如果不是我做错了什么?

Apache Tomcat 7.0.34 + primefaces 5.0 + 大气运行时 2.2.3

0 投票
0 回答
1511 浏览

jsf - 使用 Primefaces Push 更新数据表

我正在尝试在使用 primepush 添加一行后更新数据表。意思是,我希望 user1 更新数据表,而 user2 应该在不刷新页面的情况下看到添加的行。

我的 Primefaces 版本是 5.2,Atmosphere 运行时版本是 2.3.3

这是我尝试根据 Primefaces Showcase 和用户指南实现的相关代码:

网页.xml:

支持豆:

主要.xhtml:

当我尝试向表中添加一行时,不会发生错误,但有些行会丢失。当我刷新时,表格会以应有的方式重新加载。添加的行也不会在不同用户之间传递。在 user1 向表中添加值后,User2 仍然需要刷新才能看到更改。

我也尝试了此链接中的建议,但没有成功。我对 primepush 很陌生,我在网上找到的示例(用户指南除外)适用于 Primefaces 的真正旧版本,并且在 Primefaces 5 之后推送功能似乎发生了很大变化。感谢任何帮助。

编辑:我也试过这些链接:链接链接链接

编辑 2:我已经记录了推送是否有效,而且似乎确实如此。当我导航到启用了推送的页面时,我可以在控制台上观察到它被激活了。但是,当我尝试更新表格时,正在填充表格的列表的 get 方法在推送后连续调用了 3 次...

0 投票
2 回答
3431 浏览

java - 使用 PrimePush 时出现 NullPointerException

当我尝试初始化我的 eventBus 时,我得到了 NullPointerException:

java.lang.NullPointerException at de.mrsfinster.web.livefeed.bean.FeedBean.init(FeedBean.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:77) at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNext(AbstractInterceptionChain.java:126) 在 org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:102) 在 org.jboss.weld.interceptor。 proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:43) 在 org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53) 在 de.mrsfinster.web 的 org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:28) .livefeed.bean.FeedBean$Proxy$_$$_WeldSubclass.lifecycle_mixin_$$_postConstruct(Unknown Source) at org.jboss.weld.interceptor.util.InterceptionUtils.executePostConstruct(InterceptionUtils.java:38) at org.jboss.weld。 org.jboss.weld.injection.producer.BeanInjectionTarget.postConstruct(BeanInjectionTarget.java:68) 的拦截器.util.InterceptionUtils.executePostConstruct(InterceptionUtils.java:50) org.jboss.weld.bean.ManagedBean.create(ManagedBean. java:153) 在 org.jboss.weld.util.bean.IsolatedForwardingBean.create(IsolatedForwardingBean.java:44) at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96) at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:76) at org.jboss.weld .manager.BeanManagerImpl.getReference(BeanManagerImpl.java:742) 在 org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:107) 在 org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:90) ) 在 com.sun.faces.el.DemuxCompositeELResolver 的 javax.el.CompositeELResolver.getValue(CompositeELResolver.java:188) 的 org.jboss.as.jsf.injection.weld.ForwardingELResolver.getValue(ForwardingELResolver.java:46)。 _getValue(DemuxCompositeELResolver.java:176) 在 com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) 在 com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116) 在 com.sun.el.parser.AstValue.getBase(AstValue.java:151) 在 com.sun.el.parser.AstValue .getTarget(AstValue.java:170) 在 com.sun.el.parser.AstValue.invoke(AstValue.java:275) 在 com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304) 在 org.jboss。 org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) at org.jboss.weld.util.el.ForwardingMethodExpression.invoke( ForwardingMethodExpression.java:40) at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at com.sun .faces.facelets.tag.jsf.core。在 javax.faces 的 javax.faces.event.SystemEvent.processListener(SystemEvent.java:108) 在 javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2584) 的声明性SystemEventListener.processEvent(EventHandler.java:128) .event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118) 在 com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2190) 在 com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2135) ) 在 com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247) 在 org.jboss.as.jsf.injection 的 com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:289)。 com.sun 上的weld.ForwardingApplication.publishEvent(ForwardingApplication.java:299)。faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 219) 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) 在 io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) 在 io.undertow.servlet.handlers.security.ServletSecurityRoleHandler .handleRequest(ServletSecurityRoleHandler.java:61) 在 io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 在 org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在 io。undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) 在 io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) 在 io.undertow.server.handlers.PredicateHandler。 handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63) at io .undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) 在 io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler。handleRequest(CachedAuthenticatedSessionHandler.java:70) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly .extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在 io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) 位于 io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247) 的 io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)。 servlet.handlers.ServletInitialHandler。访问$000(ServletInitialHandler.java:76) 在io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166) 在io.undertow.server.Connectors.executeRootHandler(Connectors.java:197) 在io.undertow .server.HttpServerExchange$1.run(HttpServerExchange.java:759) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread .run(未知来源)runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

这是我的代码:

我正在使用 Primefaces 5.2、Wildfly 8.2.0.final、大气运行时 2.4.0-RC3。

我的 web.xml 配置:

0 投票
0 回答
64 浏览

jsf-2 - 推送大量客户端更新

目前我正在使用主推向客户端的 jsf 页面发送刷新命令,然后 jsf 页面将重新加载自身并呈现更改。它看起来像这样:

服务器:

客户:

然而,这工作得很好,但我认为如果我有更多的客户,这将成为一个性能问题,因为每个客户同时请求孔数据。

我的想法是对更改/添加的实体进行编码,并通过推送将 json 传输到客户端,然后解码 json 并将其添加到数据表中。

有没有其他方法可以处理大量需要即时更新的客户端?

0 投票
1 回答
397 浏览

jsf - PrimeFaces 套接字是否应该将每个连接附加到 URL?

我正在 GlassFish 4 上运行最新的 PrimeFaces 展示演示,并且遇到了每次socket.connect("/user")调用时都会将“/user”简单地附加到现有 URL 的问题。

也许断开连接方法无法正常工作?

结果是路径段的数量越来越多,因此它们没有正确映射到端点类上的路径变量。

在建立连接之前刷新页面。

我知道这出现在一篇类似的帖子中,但我不允许发表评论。

Primefaces Push - <p:socket/> 客户端小部件中的方法是什么

谢谢你的帮助 :)

0 投票
1 回答
527 浏览

primefaces - 在 GlassFish 4.1 上,Primefaces 5.3 推送失败

我的 web.xml:

POM:

该应用程序在 GF 4.1.1 上运行

错误跟踪:

我在 primefaces 论坛上搜索了几个小时 - 不知道!

0 投票
1 回答
784 浏览

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

当我尝试发送如下所示的 EventBus 时:

我得到了这个例外:

我尝试在 web.xml 上使用它:

如here所讨论的,但在放置此行之后,该项目无法正常工作并且无法启动。

有任何想法吗?