问题标签 [icepush]
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.
java - ICEPush:在通知上传递参数
好吧,我了解 ICEPush 的基本功能:客户端订阅,服务器在有新数据时通知订阅者,然后客户端通过 ajax 请求有效负载。这工作得很好,但在某些情况下会出现性能问题。
假设我有一个页面正在跟踪对多个项目的更改。例如,我在名为“ItemChange”的服务器上订阅了一个 ICEPush 事件。每次服务器上的进程更改“Item”实体时,都会触发此“ItemChange”事件。现在假设用户正在跟踪 id 为 2 和 3 的项目,然后服务器上发生更改 id 为 5 的项目的事件。然后服务器将通知“ItemChange”事件,这将使客户端请求一个有效负载,即对它没用,因为它没有跟踪项目 5。这种情况会导致对服务器的大量不必要的调用。
我一直在寻找一种方法来规避这个问题,但我还没有找到任何东西。如果我可以随通知一起发送一个参数,我可以简单地传递更改的项目的 id,因此客户端会知道它是否需要请求有效负载,但似乎没有办法做这个。欢迎任何建议,谢谢。
android-emulator - 无法在 ICEmobile 项目中发送电子邮件
我刚刚开始研究 ICEsoft。我有一个 ICEmobile 项目,我尝试在其中实现向用户发送通知。我使用 Tomcat 7、ICEmobile 1.1、ICEfaces 3,我的 IDE 是 Eclipse Juno 4.2。以下是一些用于呈现消息的代码片段:
我在 web.xml 中配置了 SMTP 设置:
smtp.host:smtp.gmail.com
smtp.from:myaccount@gmail.com
smtp.端口:465
smtp.user:myaccount@gmail.com
smtp.密码...
smtp.security:SSL
smtp.verify-server-certificate - false
我正在 ICEmobile Container (4.1, 16 + Google APIs) 中的 Android 模拟器上测试所有这些。在那里,我取消选中了 C2DM 通知属性,并在“电子邮件通知”中输入了我的电子邮件地址。
使用该代码,我无法发送电子邮件。我收到这样的错误:
我错过了什么吗?我尝试配置我的 Tomcat,但不知道如何正确配置 - 也许提示就在其中?
在此先感谢,伊琳娜
jsf - JSF 2.0 (IceFaces 3.2) ApplicationScoped bean、共享数据和 PUSH
我在共享数据和推送方面遇到了一点问题。
我有一个包含三行的表格;这些行根据所选的参考日期而有所不同(每个用户可以选择不同的参考日期,因此它在会话范围内),例如,假设我有:
- [{1, 'a', "active"}, {2, 'b', "active"}, {3, 'c', "inactive"}] 参考日期为 2013 年 2 月 10 日和
- [{4, 'a', "inactive"}, {5, 'b', "active"}, {6, 'c', "inactive"}] 参考日期为 2013 年 3 月 13 日。
对象是 {ID, LABEL, STATUS} 类型的三元组。
这些行应该在观看相同参考日期的用户之间共享,例如用户 U1 和 U2 正在观看参考日期为 10-Feb-13 的表格。理想情况下,当 U1 将行 {1, 'a', "active"} 更改为 "inactive" 时,修改会通过推送通知(实际上是 IcePush)传播给也看到它的用户 U2。到目前为止,一切都很好。
当更多用户观看不同的参考日期时会出现我的问题,因为我必须过滤掉不在用户特定参考日期中的行并尝试“释放”不需要的行,因为 bean 是应用程序范围的。
我们最初认为我们可以统计观看特定参考日期的用户,但这就像参考计数垃圾收集一样,我不愿意深入研究,所以我问你,你会怎么做?
顺便说一句,我们认为它应该以这种方式工作,因为我们阅读了本教程。
vaadin - 在 Vaadin 7 中实现 ICEPush 0.5.5
我正在尝试将 ICEPush 附加组件添加到我的 Vaadin 7 项目中。但是,我找不到任何正确的方法来实现它。
我将此添加到我的 web.xml 文件中。
课程org.vaadin.artur.icepush.ICEPushServlet
似乎无法使用。所以我把它改成了org.icepush.servlet.ICEpushServlet
.
我使用 Vaadin 7.0.4 和 ICEPush 0.5.5。有人可以指导我如何在 Vaadin 7 中实现 ICEPush。
java - Vaadin addon ICEpush Error during maven install
I am trying to use Vaadin Addon ICEpush. I have added the following maven snippet to my pom.xml
I have also added the following to pom.xml
But when I maven install from eclipse I am getting the following error:
any suggestions on how to solve this is greatly appreciated
servlets - 在会话开始时动态添加/删除 servlet 过滤器
我的 JSF 应用程序使用 Active Directory 身份验证模块,即 JCIFS。但是 JCIFS 过滤器阻止了 IE8 的 ICEpush 相关的事情。我想在身份验证后删除 JCIFS 过滤器(如果可能的话)。所以它是基于会话的。我可以在会话统计时应用过滤器吗?在身份验证完成后,我可以将其从当前会话中删除吗?所以它不会在当前会话之后过滤任何请求。
谢谢。
liferay - Liferay-Portlet 6.1.20 与 ICEFaces 3.3.0:ace:fileEntry 和 icepush
我正在为 Liferay 编写一个 Portlet,并且需要 ace:fileEntry 组件。我已经有一些我终于能够解决的问题。但现在我面临一个我无法理解的问题。
当包含 ace:fileEntry 的视图页是 openend 时,在正负 90 秒后将显示一个弹出窗口,其中显示消息“网络连接中断”,我必须重新加载页面。经过一番研究,我在浏览器控制台中发现了以下几行:
我正在使用以下版本的 Liferay 和 ICEFaces:
- Liferay 门户 6.1.20-EE-GA2
- Liferay-Faces-Bridge-Impl 3.1.2-ga3
- ICEFaces 3.3.0
我的 web.xml 看起来像这样:
我的 face-config.xml 看起来像这样:
ace:fileEntry 所在的 viewpage.xhtml 如下所示:
你们中有人知道如何解决问题或为什么会发生这种情况吗?
multithreading - 如何在不导致并发修改异常的情况下刷新其他用户 Vaadin 表?
用例:用户登录并打开显示约会状态的 Vaadin Table 组件。每行都有一个下拉菜单(组合框)来更改状态(已安排、已到达、已审核)。现在多个用户已经在自己的浏览器中打开了这个表,并且不断地更改约会状态。这些更改应反映在所有打开的表上,即如果用户 A 更改约会 appt-1 的状态,它会反映并刷新当前打开的所有表。
以前我们使用 ICE-PUSH 插件应用基于事件的刷新,即如果在 PC-1 上进行了更改(即应用程序实例 a1),我CopyOnWriteArrayList
从MainApplication
类中的静态获取 Vaadin 应用程序的其他实例,并通过该实例调用loadTable
函数。之后,我调用 ICEPUSH 将新的更改推送给所有用户。
这工作正常,但在某些情况下,当进行许多频繁更改时,并发修改异常会上升。那么是否有人可以帮助改善这一点?
我在此之后考虑的解决方案是通过其自己的应用程序实例在每 1 分钟内强制而不是连续地刷新表组件。这将查询数据库并使用更新的状态重新加载表容器。为此,我使用 Refresher 插件,但它引发了一个异常,即ConcurrentModificationException
,因为有时用户还通过更改表中的组合状态来更改表组件,同时刷新表并在这里引发并发修改异常。所以我正在考虑从用户的角度冻结表格组件,这样用户就不能做任何事情,并且在后台可以轻松地刷新表格。
如果对于这个用例你们有更好的解决方案,请告诉我。我很感激你。
使用 Vaadin 6.8.12、java 1.7、apache Tomcat 7.42
jsf - 即使 Ajax 推送处于活动状态,JSF 会话超时和自动重定向到登录页面也不会引起用户的注意
我在我的 JSF 应用程序中使用 Iceface Icepush向客户端发送一些通知。因为这个会话超时永远不会发生在我的应用程序上。
我已指定会话超时 15 分钟。我的要求是,如果 15 分钟内没有实际的客户端交互,服务器应该使会话无效。
我在 iceface 论坛中进行了一些搜索,并在 web.xml 中添加了这个上下文参数
也有人指定在 faces-config.xml 中使用 sessionTimeoutMonitor
但没有任何效果。
jsf - org.icepush.util.ExtensionRegistry.getBestExtension 的 java.lang.NullPointerException
我创建了一个新的 IceFace 项目并尝试在本地主机上运行它,但是收到以下错误消息:
这是我的 web.xml
我的 WebContext 下的两个文件是 index.jsp,它重定向到 index.jsf,另一个文件是 index.xhtml,其中包含以下内容:
我尝试将欢迎文件列表切换为
有了这个更改,我的 localhost 不会崩溃,但是我得到一个空白页面(我的 JSF 元素都没有出现)我有一种感觉,因为我的 JSf 标签都没有被解析,但是我真的不知道在哪里问题是,谁能帮帮我?
其他信息:我使用 Eclipse Java EE IDE for Web Developers ICEFACES 3.3.0 Tomcat 3.0
谢谢。
更新:
将我的 web.xml 欢迎文件列表更改为
并将我的 servlet 映射更改为
现在没有崩溃,但是我的 JSF 元素没有出现,我只得到一个空白页。
更新:
Web.xml
我在url-pattern
标签内尝试过 .jsf 和 .xhtml 都没有运气
索引.jsp
在让我的页面加载后,它变成空白,所以我右键单击我的页面并查看源代码,这就是我发现的......
任何想法为什么会发生这种情况?