标签: lcds

Flex/LCDS服务器到数据源的分页

我正在尝试将服务器设置为数据源分页服务.我已经设置了所有内容,以便我调用汇编程序并返回值,但是我没有收到"分页"调用.

特别:

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)

我在这里错过了什么吗?任何想法从哪里开始寻找?

java apache-flex dataservice lcds

39
推荐指数
1
解决办法
2038
查看次数

Charles 可以配置为监控 RTMP 流量吗

我们的 Flex/LCDS 应用程序当前使用 RTMP 进行消息传递/远程处理。

是否可以配置 Charles 来监控 RTMP 上的流量?如果是这样,如何实现?

我们将开发版本配置为使用 NIO-AMF(显然工作正常)。

apache-flex rtmp lcds charles-proxy

8
推荐指数
0
解决办法
828
查看次数

使用LCDS将不可变java类序列化为actionscript

我有一个复杂的对象,由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类反序列化为不可变对象或单例?

非常感谢

java adobe immutability livecycle lcds

7
推荐指数
1
解决办法
2892
查看次数

您使用什么材料学习Flex/Air和ColdFusion + BlazeDS/LCDS?

您使用什么材料来学习Flex/Air本身以及使用ColdFusion + BlazeDS/LCDS?

apache-flex air coldfusion blazeds lcds

5
推荐指数
1
解决办法
623
查看次数

LCDS&Flex - 注销后防止DuplicateHTTPSession错误

我有一个flex/LCDS堆栈,我发现在注销后,我经常(但不总是)开始Duplicate HTTP Session在客户端上接收错误.

这是堆栈的重要事实:

  • Flex客户端在应用程序中具有登录/注销功能.注销后页面不刷新.(因此,Flex应用程序和基础mx.messaging.FlexClient保持初始化)
  • 用户可以打开多个选项卡.
  • per-client-authentication设置为false- 我们正在尝试实现SSO(与CAS集成),因此用户原则绑定到JSession.
  • 使用长轮询进行消息传递时,以及打开两个(或更多)选项卡时,问题最为明显.
  • 使用RTMP或流式传输通道时,很难重现该问题.
  • 用户绑定到JSession - 即,如果他们在Tab1上登录,他们将登录到Tab2.
  • 当用户从任一选项卡注销时,Jsession将失效.

以下是我目前关于导致问题的理论:

  • Tab1(T1)启动客户端 - >发布ClientId1(C1) - > JSession1(J1)创建
  • Tab2(T2)启动客户端 - >发布ClientId2(C2) - >加入J1
  • T1登录 - > J1不受影响
  • T2登录 - > J1不受影响
  • T1和T2两者都订阅,开始轮询 amflongpolling
  • T1发送注销 - > J1无效 - > J2创建
  • T2发送投票(针对J1)
  • T1注销完成,返回J2,更新cookie

最后两个调用会产生冲突,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() …

apache-flex blazeds lcds

5
推荐指数
1
解决办法
2708
查看次数