请大家注意!!!
在使用 DataService 时,服务器端的 LCDS 中对应的 data-management-config.xml 配置文件写好后
客户端的 flex 程序跑起来后不能从服务器端正确的获取数据
并在 Tomcat 的控制台中输出类似下面的信息时
[LCDS]Received command: TCCommand [ Cmd: 0, MethodName: null, TrxID: 2.0]
[LCDS]Serializing AMF/RTMP response
Version: 3
(Command method=_error (0) trxId=2.0)
(Typed Object #0 'flex.messaging.messages.ErrorMessage')
headers = (Object #1)
rootCause = (Typed Object #2 'java.lang.NoClassDefFoundError')
message = "javax/transaction/SystemException"
localizedMessage = "javax/transaction/SystemException"
cause = (Typed Object #3 'java.lang.ClassNotFoundException')
message = "javax.transaction.SystemException"
localizedMessage = "javax.transaction.SystemException"
cause = null
exception = null
body = null
correlationId = "DA3456AC-2B44-D586-64B2-A6DB1C059FC0"
faultDetail = null
faultString = "There was an unhandled failure on the server. javax/transaction/SystemException"
clientId = "FC25AC66-C590-86C9-A820-A6DB06A35839"
timeToLive = 0.0
destination = "student"
timestamp = 1.278404665754E12
extendedData = null
faultCode = "Server.Processing"
messageId = "B05CFD08-FA0F-005D-C59A-D64339C803B7"
关键的几个条:
rootCause = (Typed Object #2 'java.lang.NoClassDefFoundError')
message = "javax/transaction/SystemException"
localizedMessage = "javax.transaction.SystemException"
faultString = "There was an unhandled failure on the server. javax/transaction/SystemException"
是因为缺失了 jta-spec1_0_1.jar 这个包
-------------------------------------------------------
下面是解决这个问题的过程和分析思路,希望对大家会有些用
在flex和java配合并在建立项目时IDE会让我们选择lcds.war文件,如下图:
不要太相信 lcds.war 里面会什么都有。
在我研究 DataService 并配置好服务器端的 data-management-config.xml 文件后
会有很多的信息输出,起初根本没有想到会是缺少jar包
因为 lcds-sample 里面也有很多 DataService 的应用嘛
我用的也是 lcds 自带的 lcds.war
开始的时候以为是代码写错了,检查了很多遍没有发现问题
后来,实在是无耐,在大量的输出信息中找到了最上面贴出来的那些信息中
发现 java.lang.NoClassDefFoundError 和 javax/transaction/SystemException
这两句话,那就先解决缺包的问题,搞了个jta的jar包扔到项目的lib下
问题解决了。
在 lcds.war 文件中的 lib 里有38个文件(包括两个txt文件)
lcds-samples.war 文件中的 lib 里有39个文件(包括两个txt文件),多了一个 hsqldb.jar ,是用来连接sample数据库的
lcds自带的sample程序为什么能好使呢?
古怪出在lcds安装目录下tomcat中的lib文件夹
在这个文件夹中会比正常的tomcat多三个文件夹
分别是 activemq4.1.1 jotm2.0.10 lcds
而 jta-spec1_0_1.jar 这个包就在 jotm2.0.10 中
我使用的IDE是 flash builder 4 中文版 + java 插件 + j2ee 插件 (中英文混合的IDE用起来是很恶心的)
如果 flash builder 4 是装在 MyEclipse 中可能不会出现上面问题
因为在MyEclipse中的web项目,
MyEclipse会自动带有很多相关的javax包
使用版本
Flex SDK 3.5
IDE是 flash builder 4 中文版 + java 插件 + j2ee 插件
Adobe® LiveCycle® Data Services ES2
Version 3.0
October 2009
欢迎大家留言讨论
转载请注明出处
- 大小: 73.2 KB
分享到:
相关推荐
它为开发者提供了丰富的功能和服务,如数据同步、消息传递、安全性管理等,旨在提高应用程序的性能与用户体验。LCDS 3.1 ES2作为该系列的一个版本,相较于之前的版本进行了多项改进与优化,提高了系统的稳定性和兼容...
在使用Flash Builder 4开发基于LCDS (LiveCycle Data Services) ES2的项目时,可能会遇到一个名为"Bad version number in .class file"的错误。这个错误通常表明编译后的类文件与运行环境中的Java虚拟机(JVM)版本...
Adobe LiveCycle Data Services ES2 3.1是一款功能强大且易于使用的数据服务产品,适用于构建高性能的企业级Flex/AIR应用程序。其序列号对于确保软件正常使用和获取售后服务至关重要。在实际应用过程中,应确保拥有...
本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一。
cairngorm作为一个轻量级的MVC(Model-View-Controller)框架,有助于组织和管理Flex应用程序的复杂性,而LCDS则为Flex应用提供了服务器端的数据服务。本文将深入探讨当这两个工具结合使用时,如何构建最小工程,并...
当Flex与LCDS结合Java时,Java主要负责处理业务逻辑和数据管理,而Flex则专注于展示和用户交互,形成前后端分离的开发模式。 Flex与LCDS的集成使得数据通信变得更加简单。LCDS提供了数据源服务,如 BlazeDS 和 LCDS...
此外,LCDS还提供了数据服务,如 BlazeDS 的Remoting和 Messaging,用于实现远程方法调用(RPC)和发布/订阅消息模型。 总之,通过J2EE+FLEX+LCDS的组合,我们可以创建功能强大且交互性强的Web应用程序,提供丰富的...
在Flex与LCDS的配合下,你可以使用LCDS的 BlazeDS 组件(BlazeDS是LCDS的一个开源版本)来创建数据服务,这些服务可以与后端的Java应用程序(例如Java EE服务器上的EJB或Spring Bean)交互。Java代码处理业务逻辑和...
《LCDs Develop Guide》是Adobe LiveCycle Data Services ES Developer's Guide的中文译名,这是一份详尽的指导文档,旨在帮助开发者理解并利用Adobe LiveCycle Data Services(以下简称LCDS)进行高效的数据服务开发...
- 数据服务优化策略,如缓存管理、错误恢复机制。 - 事件处理的最佳实践,避免内存泄漏和性能瓶颈。 通过深入学习《精通Flex3.0:LCDS与ActionScript事件详解》,开发者能够熟练掌握Flex 3.0的开发技巧,充分利用...
- **注意事项**: 确保Java编译后的.class文件与LCDS部署项目在同一目录下,以便于正确加载和执行。 **3. 使用LCDS进行开发** - **请求RemoteObject**: RemoteObject是LCDS中用于简化远程服务调用的对象。通过配置...
Flex的LCDS(LiveCycle Data Services)服务器架构是Adobe公司为构建使用Flex作为前端、Java作为后端的应用程序提供的一种中间件解决方案。LCDS不是免费的,但它有一个开源的替代品——BlazeDS,两者都是Adobe的产品...
3. **Data Management Services**: LCDS还包括对数据管理服务的支持,如BlazeDS和LiveCycle Data Management Services。这些服务提供了数据缓存、事件广播、数据推送等功能,增强了客户端和服务器之间的数据交互。 ...
用于jdbc 连接hive时候用户名,密码校验
Flex LCDS flex.war就是lcds.war Flex+LCDS使用的war包
Flex 使用MXML和ActionScript作为主要编程语言,与后端数据服务进行交互。 LCDS,全称 LiveCycle Data Services,以前被称为 Flex Data Service,是Adobe提供的一个Java后端数据服务解决方案。LCDS 支持Java应用...
LCDS,原名FDS(Flex Data Service),是Adobe提供的基于Java后端的数据服务,能够方便地将Java对象映射到Flex对象,支持RTMP协议,以及服务器端PDF生成等高级功能。 **1. Flex简介** Flex是一个基于MXML和...