`
startandornot
  • 浏览: 2162 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
最近访客 更多访客>>
社区版块
存档分类
最新评论

LCDS ES2 数据管理服务-使用注意事项之JTA包缺失

    博客分类:
  • Flex
阅读更多

请大家注意!!! 

在使用 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
2
1
分享到:
评论

相关推荐

    LCDS 3.1 ES2序列号

    它为开发者提供了丰富的功能和服务,如数据同步、消息传递、安全性管理等,旨在提高应用程序的性能与用户体验。LCDS 3.1 ES2作为该系列的一个版本,相较于之前的版本进行了多项改进与优化,提高了系统的稳定性和兼容...

    Flash Builder 4 正式版中 解决使用LCDS ES2 Data/Services 出现 Bad version number in .class file 问题

    在使用Flash Builder 4开发基于LCDS (LiveCycle Data Services) ES2的项目时,可能会遇到一个名为"Bad version number in .class file"的错误。这个错误通常表明编译后的类文件与运行环境中的Java虚拟机(JVM)版本...

    lcds3.1 lcds31 Adobe LiveCycle Data Services ES2 3.1序列号

    Adobe LiveCycle Data Services ES2 3.1是一款功能强大且易于使用的数据服务产品,适用于构建高性能的企业级Flex/AIR应用程序。其序列号对于确保软件正常使用和获取售后服务至关重要。在实际应用过程中,应确保拥有...

    Flex + LCDS + Java 入门教程--电子书教程(Flex Builder)

    本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一。

    cairngorm + lcds最小包.rar

    cairngorm作为一个轻量级的MVC(Model-View-Controller)框架,有助于组织和管理Flex应用程序的复杂性,而LCDS则为Flex应用提供了服务器端的数据服务。本文将深入探讨当这两个工具结合使用时,如何构建最小工程,并...

    Flex-P-LCDS-P-Java.rar_flex

    当Flex与LCDS结合Java时,Java主要负责处理业务逻辑和数据管理,而Flex则专注于展示和用户交互,形成前后端分离的开发模式。 Flex与LCDS的集成使得数据通信变得更加简单。LCDS提供了数据源服务,如 BlazeDS 和 LCDS...

    J2EE+FLEX+LCDS实现数据通信(带图,超详细)

    此外,LCDS还提供了数据服务,如 BlazeDS 的Remoting和 Messaging,用于实现远程方法调用(RPC)和发布/订阅消息模型。 总之,通过J2EE+FLEX+LCDS的组合,我们可以创建功能强大且交互性强的Web应用程序,提供丰富的...

    Flex-LCDS-Java.rar_LCDS_flex_flex java

    在Flex与LCDS的配合下,你可以使用LCDS的 BlazeDS 组件(BlazeDS是LCDS的一个开源版本)来创建数据服务,这些服务可以与后端的Java应用程序(例如Java EE服务器上的EJB或Spring Bean)交互。Java代码处理业务逻辑和...

    lcds develop guide

    《LCDs Develop Guide》是Adobe LiveCycle Data Services ES Developer's Guide的中文译名,这是一份详尽的指导文档,旨在帮助开发者理解并利用Adobe LiveCycle Data Services(以下简称LCDS)进行高效的数据服务开发...

    精通flex3.0 精通 Flex3.0 LCDS ActionScript 事件

    - 数据服务优化策略,如缓存管理、错误恢复机制。 - 事件处理的最佳实践,避免内存泄漏和性能瓶颈。 通过深入学习《精通Flex3.0:LCDS与ActionScript事件详解》,开发者能够熟练掌握Flex 3.0的开发技巧,充分利用...

    FLEX+JAVA+LCDS完全配置

    - **注意事项**: 确保Java编译后的.class文件与LCDS部署项目在同一目录下,以便于正确加载和执行。 **3. 使用LCDS进行开发** - **请求RemoteObject**: RemoteObject是LCDS中用于简化远程服务调用的对象。通过配置...

    Flex的LCDS服务器架构

    Flex的LCDS(LiveCycle Data Services)服务器架构是Adobe公司为构建使用Flex作为前端、Java作为后端的应用程序提供的一种中间件解决方案。LCDS不是免费的,但它有一个开源的替代品——BlazeDS,两者都是Adobe的产品...

    flex 与java通信所需的lcds包

    3. **Data Management Services**: LCDS还包括对数据管理服务的支持,如BlazeDS和LiveCycle Data Management Services。这些服务提供了数据缓存、事件广播、数据推送等功能,增强了客户端和服务器之间的数据交互。 ...

    hiveauth-1.0-SNAPSHOT.jar

    用于jdbc 连接hive时候用户名,密码校验

    java Flex LCDS flex.war lcds.war

    Flex LCDS flex.war就是lcds.war Flex+LCDS使用的war包

    Flex + LCDS + Java

    Flex 使用MXML和ActionScript作为主要编程语言,与后端数据服务进行交互。 LCDS,全称 LiveCycle Data Services,以前被称为 Flex Data Service,是Adobe提供的一个Java后端数据服务解决方案。LCDS 支持Java应用...

    Flex + LCDS + Java 入门教程

    LCDS,原名FDS(Flex Data Service),是Adobe提供的基于Java后端的数据服务,能够方便地将Java对象映射到Flex对象,支持RTMP协议,以及服务器端PDF生成等高级功能。 **1. Flex简介** Flex是一个基于MXML和...

Global site tag (gtag.js) - Google Analytics