`
kungstriving
  • 浏览: 131427 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache ODE1.3.3源码Eclipse运行

    博客分类:
  • BPEL
阅读更多

转载请注明出处:http://www.nuulee.cn/index.php?n=Tech.ApacheODE源码运行

前段时间写了一篇针对Apache ODE1.2的源码运行的文章,但是后来由于一个自己未能解决的问题,而不能正常使用。这个问题就是在将ODE的数据存储方式改到数据库之后(默认的内存数据库,这只能作为测试使用),删除流程,然后重启引擎就会出错,并且再次重启无法解决该问题。报的错误是DBerror,是由于IllegalArgumentException引起的,java.util.HashMap is not an interface. 原本想着这是ODE1.2的一个bug,但是通过ODE1.2的二进制版本运行是正常的。弄得自己很无奈,最后还是寄希望于ODE的新版本1.3.3,希望能解决这个问题,而且更好的是ODE1.3版本提供了ODE的管理portal,虽然简单,但是大致框架已经有了,这对后面该部分的开发会很有用处,所以还是转向了ODE1.3.3这个新版本。但其实,新版本同样存在这个问题,最后还是铁下心仔细阅读源码,终于发现了这个BUG,现在准备给ODE-dev这个邮件组发信呢,报告下BUG,呵呵

至于如何下载、安装、编译、以及导入Eclipse还有差错的一些操作,可以查看上面提到的Apache ODE1.2源码运行的那篇文章。这里只对ODE1.3里面新遇到的一些问题做出解释。

1.数据库连接

对于每一个更新的源代码工程连接数据库,必须使用新构架的数据库,才能连接成功。不能因为ODE的版本一样就使其连接相同的数据库。
经过重新构建一个数据库进行连接后,上述的异常解决

2.源码包中的target/generate包

该包包括了编译时候生成的很多文件,主要是一些接口文件、XSD文件等等,需要将该文件夹设为源码包对待,这样在WEB工程部署时,才会拷贝这些文件,要不会报错。

3.src文件夹下的main包

webapp文件夹包括了ODE1.3中的web页面文件,可以将这些文件直接拷贝到你的WebRoot文件夹下
wsdl文件夹包括了几个wsdl文件,这在ODE启动是要使用到的,将这些文件拷贝到WEB-INF文件夹下,还有另外一些文件,需要和二进制版的ODE进行比较,如果发现缺少什么,直接从二进制版下拷贝过来即可,但是,记住不要lib包下的ode开头的那些jar包,那些都是已经打包的源程序,道理我就不多说了。

4. 报错ODE-store或者ode-dao持久化什么找不到,这类错误

该错误是由于persistence.xml的设置问题,该文件是持久化实现类的配置文件,上面的错误就是说找不到该文件。这个文件有三个,ode-store、ode-dao、ode-unit-test的,我只在target/classes/META-INF文件夹下找到一个,其他的直接从二进制的jar文件中解压出来的,这个需要找ode-store那个jar包,有兴趣的童鞋,可以在源码中好好找下,如果找到具体位置,告诉我下哦,呵呵。找到这三个文件之后,把这三个文件合并为一个,怎么合并,大家一看就明白。然后,记住,将该文件拷贝到src/test/resources文件夹下。这样就可以解决上述问题

5.部署运行出现异常Cannot load SchemaTypeSystem. Unable to load class

由于ODE在运行时候,需要很多由xsd文件生成的java类作支持,而这一步需要由rake工具来完成,而对于该工具并不是熟悉。所以直接从WAR方式部署的ODE的lib/ode-bpel-schemas-1.3.3.jar文件中的
chemaorg_apache_xmlbeans/system\s3B45226C5D1D7A30D02E005E24CD7BEA/
TypeSystemHolder.class,拷贝到你的source版本中的相应位置,这样就可以解决该问题。

6.异常:javax.naming.exception jdbc is not bound to this context.

该异常是由于无法绑定jdbc模块所引起,所以查看WEB-INF文件夹下的web.xml文件,将其中的最下面的关于datasource定义的一段注释去掉。这样,JDBC便可以加载

7.最为重要的一个,也是我感觉最为得意的一个,呵呵,臭美一下,大家不要拍我哦

就是java.util.HashMap is not an interface的异常的解决。
将org.apache.ode.store.jpa.ProcessConfDaoImpl文件中的第48行的HashMap改为Map接口即可,虽然只是很简单的修改,但是确实费了很大的功夫,才定位到这里。因为这确实是由于ode源码的错误造成的运行异常。

经过上面这些查错调试之后,ODE1.3.3顺利运行,删除流程,重新部署都不会程序任何问题,但目前还不能确定将来又会出现什么新问题,如果有我会继续贴出来,希望大家也能给与帮助。

3
0
分享到:
评论
3 楼 maliang_2009 2009-12-15  
最近也在研究ODE,遇到了一个问题,就是将1.3.3版本中自带的源码搭建好之后,运行报异常:java.util.HashMap is not an interface。看过你的文章之后,这个问题解决了,但是在切换数据库时,即由derby到mysql的切换时,又报了另外一个错:
FATAL - GeronimoLog.fatal(120) | Encountered an unexpected error.  Exiting poller...
java.lang.NullPointerException
at org.apache.ode.store.ProcessStoreImpl.refreshSchedules(ProcessStoreImpl.java:835)

我看了一下源码,这个问题是由于部署单元里没有找到相应的bpel定义而报的空指针异常,不知这个问题你遇到了吗?
谢谢!
2 楼 kungstriving 2009-09-26  
hbdrawn 写道
这篇文章是最近写的吧,呵呵,六月份看过你以前的几个关于ODE&activebpel的博文,受益匪浅。最近也在配置和学习WS-BPEL(呵呵,刚刚入门,多多指教)选择的解析引擎就是ODE(最初的时候是ActiveBPEL,都配置成功了但因为文档缺乏,所以又转移到ODE来)。初试配置的是V1.2的,war包没有问题,但想导入eclipse中学习下,却遇到了很多类似的问题和不解。毕竟,项目的发布和管理形式和自己知识的欠缺是最大的困难。最近终于把V1.3.2版本的源码成功导入了eclipse,虽然现在运行没有出现任何异常,但唯一遗憾的是还有四个Ode包没有替换,其中就包括你提到的两个。我先按照你的方法试试,先谢谢了

如果有什么问题可以大家互相讨论,学习,我也在摸索,呵呵
目前我们正在修改ODE,要求做ODE的服务动态选择,而且已经有了一些眉目
1 楼 hbdrawn 2009-09-24  
这篇文章是最近写的吧,呵呵,六月份看过你以前的几个关于ODE&activebpel的博文,受益匪浅。最近也在配置和学习WS-BPEL(呵呵,刚刚入门,多多指教)选择的解析引擎就是ODE(最初的时候是ActiveBPEL,都配置成功了但因为文档缺乏,所以又转移到ODE来)。初试配置的是V1.2的,war包没有问题,但想导入eclipse中学习下,却遇到了很多类似的问题和不解。毕竟,项目的发布和管理形式和自己知识的欠缺是最大的困难。最近终于把V1.3.2版本的源码成功导入了eclipse,虽然现在运行没有出现任何异常,但唯一遗憾的是还有四个Ode包没有替换,其中就包括你提到的两个。我先按照你的方法试试,先谢谢了

相关推荐

    apache ode 入门

    Apache ODE(OpenESB Data Engine)是Apache软件基金会的一个开源项目,专注于业务流程执行(BPEL,Business Process Execution Language)服务。BPEL是一种用于编写和部署业务流程和服务编排的标准XML语言。本教程...

    Apache ODE - 1.架构介绍

    ### Apache ODE 架构详解 #### 一、概述 Apache ODE (Orchestration Director Engine) 是一款基于BPEL (Business Process Execution Language) 的开源业务流程管理系统。其核心功能在于提供一个轻量级、可扩展且...

    BPEL实例 eclipse apache ode

    BPEL实例,Apache-ODE,Eclipse 该教程详细讲述了开发一个BPEL业务流程的详细步骤。先手动写好两个服务,一个是加法服务,一个是减法服务,然后希望构建一个bpel流程,该流程能够根据用户的输入来决定是调用加法服务...

    Apache ode介绍

    Apache ODE 支持长期运行和短期运行的业务流程。 #### 二、BPEL 和 Apache ODE 的重要性 在面向服务架构 (SOA) 的世界里,BPEL 被广泛用于描述复杂的业务流程。它是一种基于 XML 的语言,能够定义 Web 服务之间的...

    Apache ODE开发指南

    Apache ODE 开发指南 Apache ODE 是一个基于 Web 服务的业务流程执行引擎,旨在提供一个灵活、可扩展、可靠的流程执行环境。ODE 的关键组成部分包括 ODE BPEL 编译器、ODE BPEL 引擎 Runtime、ODE 数据访问对象...

    Eclipse-BPEL-ODE-加减法实例

    本文档主要介绍了如何在 Eclipse 中搭建 BPEL 项目,包括安装和配置 Apache ODE、BPEL Designer 插件,并提供了一个小例子。 环境配置 在开始之前,需要安装 Eclipse IDE for Java EE Developers(Luna),这是一...

    apache-ode-src-1.2.zip_BPEL_apache-tomcat_xmlmime.xsd

    Apache Tomcat在Apache ODE中起着关键的作用,因为它为ODE提供了运行环境。ODE作为一个Servlet,可以在Tomcat这样的容器中部署并运行,接收HTTP请求,执行BPEL流程,并返回响应。在设置和配置Apache ODE时,通常需要...

    VS 2008 ODE 源码

    VS 2008 ODE 源码是一款基于Visual Studio 2008的开源物理引擎,专门用于游戏开发。ODE(Open Dynamics Engine)是一个强大的动态模拟库,它能够帮助开发者实现复杂物理环境下的物体运动模拟,如碰撞检测、刚体动力...

    ODE45_ODE45_常微分方程_源码.zip

    综上所述,"ODE45_ODE45_常微分方程_源码.zip"中的内容将提供一个深入理解MATLAB中常微分方程数值求解的实践平台,通过分析和运行源码,我们可以更好地掌握ODE45的使用技巧,并将其应用到实际问题中。

    ODE物理引擎实例源码及学习资料

    通过运行和分析这些实例,你可以学习如何将ODE集成到自己的项目中,以及如何解决实际问题。 3. ODE经典资料: 这部分学习资料可能包括教程、论文、论坛讨论和博客文章等,它们涵盖了ODE的基础知识、高级特性以及...

    Candidate Solution_ode_源码

    "Candidate Solution_ode_源码"这个项目显然是针对求解微分方程问题的,而"ode"标签则直接指明了主要涉及的是常微分方程(Ordinary Differential Equations,简称ODE)的求解。 微分方程是描述系统动态变化的一种...

    matlab-ode-solvers-master_Help!_Equations_matlab_matlabode_源码

    _Equations_matlab_matlabode_源码"这个压缩包提供了一组MATLAB代码,旨在帮助用户更有效地解决ODE问题。下面我们将详细探讨MATLAB中的ODE求解器以及如何使用它们。 MATLAB提供了多个内置的ODE求解器,如ode45、ode...

    顶楼:Apache ODE的镜像

    Apache ODE(OpenESB Data Engine)是一个开源的BPEL(Business Process Execution Language)服务器,它是基于Java的,主要用于执行和管理业务流程。BPEL是一种用于描述企业服务总线(ESB)中业务流程的XML语言。在...

    在Eclipse下开发BPEL实例分享

    通过这些步骤,读者可以了解到如何利用Eclipse和Apache ODE等工具来构建复杂的业务流程。BPEL作为一种标准化的业务流程语言,能够在不同的系统之间实现业务流程的自动化和集成,对于企业级应用开发具有重要的意义。

    Eclipse_BPEL_使用详解[整理].pdf

    Eclipse BPEL 需要在 Eclipse IDE 中安装 BPEL Designer 插件,并配置 Apache ODE(BPEL 解析器)。首先,需要下载 Apache ODE 并将其解压到 Tomcat 的 webapps 目录下,然后启动 Tomcat 并输入 ...

    odefunc_ode45齿轮_ODE45_齿轮odefunc_齿轮_齿轮ode45_源码

    这个标题“odefunc_ode45齿轮_ODE45_齿轮odefunc_齿轮_齿轮ode45_源码”表明我们正在探讨一个涉及到行星齿轮系统的动力学分析问题,该问题通过ode45函数进行数值模拟。在这个场景中,"odefunc"很可能是指定义了行星...

    eclipse bpel

    Apache ODE(OpenESB Dieployment Engine)是一个开源BPEL服务器,它实现了WS-BPEL 2.0规范,可以在多种Java应用服务器上运行,如Tomcat。 2. **Eclipse中加载BPEL Designer插件** - BPEL Designer是Eclipse的扩展...

    bpel环境搭建.zip

    在本指南中,我们将详细介绍如何搭建一个基于ActiveBPEL、Apache ODE、Apache Tomcat和JDK 1.5的BPEL运行环境。 **一、Apache ODE简介** Apache ODE(Orchestration Director Engine)是开源社区的一个BPEL引擎,...

Global site tag (gtag.js) - Google Analytics