我正在尝试将服务器设置为数据源分页服务.我已经设置了所有内容,以便我调用汇编程序并返回值,但是我没有收到"分页"调用.
特别:
public Collection fill(List fillArgs, int begin, int rows)
Run Code Online (Sandbox Code Playgroud)
始终使用begin == -1和调用rows == -1,而不是通过页面获取实际值.此外:
public boolean useFillPage(List fillParameters)
Run Code Online (Sandbox Code Playgroud)
永远不会被调用(我的实现总是为所有参数返回true).看起来它永远不会被调用,因为JavaAdapter没有从Flex客户端接收pageSize头.
这是我的目标配置:
<destination id="invoiceListDataService">
<adapter ref="java-dao" />
<properties>
<scope>session</scope>
<source>com.williams.finance.invoice.dao.InvoiceReviewListAssembler</source>
<network>
<paging enabled="true" pageSize="100" />
</network>
<metadata>
<identity property="invoiceNumber"/>
</metadata>
</properties>
</destination>
Run Code Online (Sandbox Code Playgroud)
我的Flex代码用于调用数据服务:
myDataService = new DataService("invoiceListDataService");
myDataService.autoSyncEnabled=false;
myDataService.fill(invoiceReviewListModel.invoiceList, params);
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?任何想法从哪里开始寻找?
我们的 Flex/LCDS 应用程序当前使用 RTMP 进行消息传递/远程处理。
是否可以配置 Charles 来监控 RTMP 上的流量?如果是这样,如何实现?
我们将开发版本配置为使用 NIO-AMF(显然工作正常)。
我有一个复杂的对象,由LCDS DataServices数据管理管理,并使用自定义汇编程序创建/更新等.绝大多数对象层次结构正在被正确地序列化/反序列化,但在序列化不可变java类时,我遇到了绊脚石.
在一个只有Java的世界中,我会使用java writeReplace和readResolve方法,因为这篇优秀的博客描述了这样的内容:http://lingpipe-blog.com/2009/08/10/serializing-immutable-singletons-serialization-proxy/
这就是我最初编写java类的方法,期望livecycle调用writeReplace方法并适当地用可变类替换不可变类以进行序列化.然而,似乎lcds对writeReplace方法一无所知,只会调用readExternal/writeExternal而忽略readResolve和writeReplace.
首先,让其他人发现这种情况,或者我错过了什么?
其次,有没有人想出一个适当的方法来将actionscript类反序列化为不可变对象或单例?
非常感谢
您使用什么材料来学习Flex/Air本身以及使用ColdFusion + BlazeDS/LCDS?
我有一个flex/LCDS堆栈,我发现在注销后,我经常(但不总是)开始Duplicate HTTP Session在客户端上接收错误.
这是堆栈的重要事实:
mx.messaging.FlexClient保持初始化)per-client-authentication设置为false- 我们正在尝试实现SSO(与CAS集成),因此用户原则绑定到JSession.以下是我目前关于导致问题的理论:
amflongpolling最后两个调用会产生冲突,LCDS FlexClient看起来与2个JSession相关.
结果,收到了以下错误:
Server.Processing.DuplicateSessionDetected检测到重复的基于HTTP的FlexSession,通常是由于远程主机禁用会话cookie.必须启用会话cookie才能正确管理客户端连接.
注意:我已经能够在独立项目中重新创建问题. 我认为这不是我们的应用程序特定代码的问题,而是由状态/会话性质以及共享同一会话的多个选项卡之间的冲突引起的.
总之,我认为问题是由于来自一个选项卡的调用导致服务器上的会话无效,但是在将响应发送到浏览器以通知新的JSession之前,调用是在旧的Jsession下发出的. .
什么是适当的策略来抵御这个重复的会话问题?
为了澄清,虽然场景类似于此处讨论的场景,但存在微妙的差异,这使得该文章中的解决方案不合适.
具体来说,本文讨论了通过使用JSP或协调的RemoteObject调用控制跨两个浏览器的JSession 的初始创建来防止重复会话.
Flex实际上通过阻止出站RemoteObject调用来协助此过程,直到DSid定义了本地FlexClient 变量,表明初始会话已建立.
我的方案有所不同,因为JSession(和相关的LCDS FlexSession /客户端FlexClient对象)已经建立一次(使用该文章中讨论的技术),然后通过注销失效 - 这些调用session.invalidate() …
lcds ×5
apache-flex ×4
blazeds ×2
java ×2
adobe ×1
air ×1
coldfusion ×1
dataservice ×1
immutability ×1
livecycle ×1
rtmp ×1