使用Oracle、Java和;安格拉斯
这是我的第一篇堆栈溢出帖子,如果我不够具体,请忽略/原谅。我相信我会逐渐了解这个过程 我已经构建了一个JSON以显示在角度数据网格中。此JSON来自对物化视图的复杂查询。我的想法是在底层数据更改时刷新JSON,如下所示: a) 在应用程序启动时为Oracle CQRN(Oracle连续查询结果更改通知)注册查询 b) 当底层数据发生更改时,Java端的Oracle数据库更改侦听器将被调用,Ire将查询数据(带有更改)并将其推送到套接字端点。这样,JSON就可以使用最新的数据进行更改 这适用于简单查询 问题是: a) 在我的例子中,查询非常复杂,涉及多个具有UNION ALL和复杂联接的物化视图。CQRN不支持查询结果更改的物化视图注册 b) 我在启动时注册的查询(用于查询结果更改通知)是相当静态的。它不能满足数据网格后面各种不同参数化查询的要求 任何人都可以建议任何其他替代方案,例如在中间轮胎中缓存网格数据,并在基础网格数据更改时使用更新的数据刷新缓存。当底层网格数据发生更改时,应该通知我,因此我将重新查询并将更新的数据发送到套接字端点,套接字端点将刷新网格 我必须实时显示网格数据的变化,所以我使用了JavaWebSocket(JSR356) 技术堆栈: 用户界面:Javascaipt/AngularJS 中间层:Java1.7 服务器:Jetty 9.2 数据库:Oracle 11g R2 构建平台:Maven 3.3 对于任何其他合适方法的建议也将不胜感激 谢谢和问候,使用Oracle、Java和;安格拉斯,java,angularjs,json,oracle,Java,Angularjs,Json,Oracle,这是我的第一篇堆栈溢出帖子,如果我不够具体,请忽略/原谅。我相信我会逐渐了解这个过程 我已经构建了一个JSON以显示在角度数据网格中。此JSON来自对物化视图的复杂查询。我的想法是在底层数据更改时刷新JSON,如下所示: a) 在应用程序启动时为Oracle CQRN(Oracle连续查询结果更改通知)注册查询 b) 当底层数据发生更改时,Java端的Oracle数据库更改侦听器将被调用,Ire将查询数据(带有更改)并将其推送到套接字端点。这样,JSON就可以使用最新的数据进行更改 这适用于简单
-Joy虽然没有直接回答您的问题,但我们只是实现了一个包含多个数据源和CQRN的实时数据网格。此内置项基于表的更改。我们的技术是:
- 向基表添加插入触发器(数据馈送是实时的,没有删除,没有更新)
- 调用存储过程来操作数据。您将在物化视图中使用逻辑。该过程将数据插入到目标表中。它有一个调用CQRN的触发器
- 通常使用realtime时,您需要删除旧数据,以便一切都保持快速