`

jbpm集成myeclipse、eclipse以及与SSH的整合

    博客分类:
  • jbpm
阅读更多

 

集成Mycelipse
一、下载
下载地址:http://nchc.dl.sourceforge.net/s ... pdl-suite-3.2.2.zip
这个文件是目前最新版,包括了JBPM的所有东西,当然也包括了设计器。

二、安装jbpm
将这个包解压到D:/jbpm-jpdl-3.2.2。


三、安装jbpm designer
第一步:在MyEclipse的根目录下建立一个叫jbpmdesigner的文件夹。如图。

第二步:将D:/jbpm-jpdl-3.2.2/designer下的eclipse目录(links除外)复制到jbpmdesigner下

第三步:在C:/MyEclipse8.6/eclipse/links下新建一个文件,叫jbmpdesigner.link,这是一个文件文件,用文本编辑器打开,加入以下内容:

复制内容到剪贴板
代码:
path=jbpmdesigner

这里的内容就是指向刚才新建的那个目录。这实际上是一种eclipse的插件安装方式,这种方式可以避免所有的包全放在一起而引起冲突。

五、卸载
如果你想卸载,将刚才新建的那个目录以及文件全部删除即可。



解决Myeclipse的gpd.xml报乱码错

<?xml version="1.0" encoding="UTF-8"?>改成<?xml version="1.0" encoding="utf-8"?>



集成Eclipse

一.eclipse与JBPM整合的方法就是在eclipse中的links目录中新建一个.link为后缀的文件。

 内容为:

path=E:\\jbpm-jpdl-suite-3.2.3\\jbpm-jpdl-3.2.3\\designer


二.其中designer下必须有eclipse文件夹


JBPM整合SSH


第一步:创建数据库表

1、COPY依赖包:bsh.jar/jcr-1.0.jar/jbpm-identity.jar/jbpm-jpdl.jar

2、将jbpm中的映射资源添加到配置文件中(spring配置文件,applicationContext.xml)

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource">

<ref local="dataSource" />

</property>

<property name="mappingResources">

<list>

<value>org/jbpm/db/hibernate.queries.hbm.xml</value>

<value>........................................</value>

</list>

</property>


</bean>

3、将hibernate.cache.provider_class属性(org.hibernate.cache.HashtableCacheProvider)添加到配置文件中

<prop key="hibernate.hbm2ddl.auto">update</prop> <!--自动创建表-->

<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>


4、避免使用User类名的冲突

因为Jbpm中的User类可能与工程当中的User类在名称上有冲突,因此定义User的映射时,指定@Entiry注解的name属性为全路径类名。

在定义了name属性之后,凡是查询User对象的MQL语句,都需要使用这个全路径类名(名句.类名)

----------------------------------------------------------------------------------------------------------------

第二步:与spring集成

1、集成spring与JBPM,需要用到第三方的类库spring-modules-0.8.zip

2、将其中的spring-modules-jbpm31.jarCOPY到web-inf/lib下面即可

3、集成JBPM与spring的方法是:将JbpmConfiguration对象交给Spring来创建

4、所以,需要在spring配置文件里面配置JbpmConfiguration对象的创建

<!-- 与spring集成与jbpm,需要下载第三方类库spring-modules-.8.zip -->

<bean id ="jbpmconfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">

<property name="configuration" value="classpath:jbpm.cfg.xml"></property>

</bean>

5、这个时候,需要拷贝jbpm.cfg.xml到类路径中(WEB-INF目录下)

可以从jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3\src\jpdl\org\jbpm目录中拷贝(default.jbpm.cfg.xml)文件,并重命名即可(去掉default)。

----------------------------------------------------------------------------------------------------------------------------------

第三步:如何实现业务逻辑类

1、用到jbpmConfuguration的时候,需要注入

@Component

public class JbpmFacadeImpl extends HibernateDaoSupport implements JbpmFacade {

//得到JbpmConfiguration

private JbpmConfiguration jbpmConfiguration;

public void setJbpmConfiguration(JbpmConfiguration jbpmConfiguration) {

this.jbpmConfiguration = jbpmConfiguration;

}

2、当我们使用JbpmContext对象来操纵Jbmp的时候,需要将JbpmContext内部的Hibernate session对象设置为当前的hibernate session对象

private JbpmContext getJbpmContext()

{

JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();

JbpmContext context = jbpmConfiguration.createJbpmContext();

context.setSession(getSession());

return context;

}

3、当我们使用jbpmContext操纵JBPM数据结束的时候,注意不要关闭jbpmContext!!!!




发送E_mail

-----------------------------JAMESS相关--------------------------

安装与运行

1、James是一个开源的邮件服务器程序,现在使用的版本是james-2.3.1

2、解压之后,首先运行bin/run.bat

3、如果想要修改相关的配置文件,请先停止james,然后到:apps\james\SAR-INF\config.xml中

4、config.xml文件可以修改,比如SMTP端口号等信息


管理

1、cmd命令-----------------telnet localhost 4555,并输入默认用户名/密码(root/root)

2、输入adduser username password ----添加用户。例adduser cs cs;

3、qurit退出



---------------------------JBPM相关--------------------------------

1、需要activation.jar和mail.jar依赖包加入到类路径

2、由于JBPM有些BUG,需要加上MailAction的hibernate映射配置(MailAction.cfg.xml)到类路径下


<?xml version='1.0' encoding='utf-8'?>


<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-mapping default-access="field">


<subclass name="org.jbpm.graph.action.MailAction" discriminator-value="M" extends="org.jbpm.graph.def.Action"></subclass>


</hibernate-mapping>


3、如查SMTP主机的端口不是默认端口25,则需要jbpm.cfg.xml中如下配置删除:

<string name="jbpm.mail.smtp.host" value="localhost" />

并插入新的配置

<string name="resource.mail.properties" value="mail.properties" />

并在类路径中添加mial.properties文件,在这个文件中,可以设置主机和SMTP端口;

mail.host=localhost

mail.smtp.port=255


4、可以分别在不同的Action中发送EMail;

如:

<event type="node-enter">

<mail to="cs@localhost" subjuect="hello" text="something" />

</event>

或:

<task name="tom审批">

<assignment actor-id="cs" />

<event type="task-assign">

<mail template="task-assign" />

</event>

</task>

上述例子中:

- 第一个例子直接在流程定义文件中指定要发送的目标地址,主题和内容

- 第二个例子则将这些信息转移到了一个名为"task-assign"的模板配置中,模板文件由jbpm.cfg.xml中的

  <string name="resource.mail.templates" value="jbpm.mail.templates.xml" />

配置来决定的。在这里,模板文件是jbpm.mail.templates.xml,并需放置到类路径根目录下,举例:

<mail-templates>

<!--<variable name="BaseTaskListURL" value="http://localhost:8080/jbpm/home?taskId=" />-->


  <mail-template name='task-assign'><!--邮件模板名称,可定义多个 -->

    <actors>#{taskInstance.actorId}</actors>

    <to>#{taskInstance.actorId}@localhost</to>

    <subject>Task '#{taskInstance.name}'</subject>

    <text><![CDATA[Hi,

Task '#{taskInstance.name}' has been assigned to you.

Go for it: #{BaseTaskListURL}#{taskInstance.id}

Thanks.

---powered by JBoss jBPM---]]></text>

  </mail-template>


  <mail-template name='task-reminder'><!--邮件模板名称,可定义多个 -->

    <actors>#{taskInstance.actorId}</actors>

    <subject>Task '#{taskInstance.name}' !</subject>

    <text><![CDATA[Hey,

Don't forget about #{BaseTaskListURL}#{taskInstance.id} 

Get going !

---powered by JBoss jBPM---]]></text>

  </mail-template>


<mail-template name='task-mail'><!--邮件模板名称,可定义多个 -->

<actors>#{taskInstance.actorId}</actors>

<to>#{taskInstance.actorId}@localhost</to>

<subject>公文【#{doc_title}】正在等待您的审批....</subject>

<text>

<![CDATA[ 您好,公文【#{doc_title}】已转交到您的手上,请尽快审批,谢谢!]]>

</text>

</mail-template>

</mail-templates>

 

分享到:
评论
1 楼 yangq_2011 2013-07-08  
请教高手,本人初次接触jbpm,按你的步骤到:

@Component
public class JbpmFacadeImpl extends HibernateDaoSupport implements JbpmFacade {
//得到JbpmConfiguration
private JbpmConfiguration jbpmConfiguration;

public void setJbpmConfiguration(JbpmConfiguration jbpmConfiguration) {

this.jbpmConfiguration = jbpmConfiguration;

}

private JbpmContext getJbpmContext()
{
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSession(getSession());
return context;
}
}
之后@Component报错,implements JbpmFacade 也报错,myeclipse也无法根据提示解决,能说明下这两个接口到底在那个jar包或者要建怎样的接口?

相关推荐

    myeclipse的jBPM4.4整合ssh2.rar

    【标题】"myeclipse的jBPM4.4整合ssh2.rar" 涉及的是在MyEclipse集成开发环境中整合Java业务流程管理(jBPM)4.4版本与Spring、Struts2(SSH2)框架的技术实践。这个压缩包文件提供了整合过程的相关资源,包括配置...

    JBPM5.4 SSH 完整项目整合案例

    **JBPM5.4 SSH 完整项目整合案例** 该案例是基于JBPM5.4、Spring(SSH框架的一部分)的集成应用实例,...这个案例对于学习如何在实际项目中整合JBPM和SSH框架,以及理解它们之间的协作机制,是非常有价值的参考资料。

    jbpm4.3、ssh环境搭建

    ### jBPM4.3与SSH环境搭建详解 #### 一、引言 jBPM (JBoss Business Process Management) 是一个开源的工作流管理系统,它提供了用于定义业务流程的工具和APIs。本文将详细介绍如何在开发环境中安装并配置jBPM4.3...

    JBPM+SSH例子

    【JBPM+SSH例子】是将企业级工作流管理系统JBPM与Spring、Struts和Hibernate(SSH)这一经典Java Web开发...通过学习和实践这个例子,开发者可以掌握SSH与工作流引擎的协同工作方式,提升在企业级应用开发中的能力。

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    【JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8整合】的整个过程涉及到多个关键组件的集成,这些组件都是Java企业级开发中的重要部分。首先,JBPM(Business Process Management)是一个开源的工作流引擎,它...

    SSH jbpm4 ExtJs 完整配置,完整实例

    在这个实例中,jbpm4与SSH框架集成,提供了流程定义和执行的能力。 5. ExtJs:ExtJs是一个强大的JavaScript库,用于创建交互式的Web应用。WebRoot目录下可能包含ExtJs的库文件和使用ExtJs编写的前端界面代码。 6. ...

    企业OA 完整的jbpm工作流实例

    通过这个实例,开发者不仅可以学习到SSH框架的基本使用,还能深入了解jbpm如何与Java应用程序结合实现工作流,同时也能掌握如何在MyEclipse中管理项目以及使用MySQL数据库。对于想要提升自己在企业级应用开发方面...

    请假审批系统-jbpm4.4+ssh+oracle +easyui

    通过学习这个项目,开发者不仅可以了解如何将工作流引擎jBPM与SSH框架集成,还能掌握如何设计和实现一个完整的请假审批流程,并运用EasyUI来创建美观的前端界面。此外,对Oracle数据库的使用和管理也是重要的学习点...

    深入浅出JBPM最新源码第七章-报销实例

    报销实例】是一个关于企业流程管理(Business Process Management,简称BPM)的实战教程,主要聚焦在JBPM框架的使用上,结合了myeclipse集成开发环境、SQL数据库、Tomcat6.0应用服务器以及JBPM3.2.3版本的源代码分析...

    企业OA综合完整的jbpm工作流实例

    通过这个实例,开发者不仅可以学习到如何使用jbpm进行工作流管理,还可以深入理解SSH框架的协同工作方式,以及如何在MyEclipse环境中进行Java Web项目的开发。同时,通过与MySQL数据库的交互,可以掌握数据持久化的...

    ssh框架的搭建

    它集成了MVC设计模式、依赖注入、面向切面编程以及对象关系映射技术,能够有效提高开发效率,简化代码结构。本文将根据给定的文件内容,详细阐述SSH框架的搭建过程。 #### 第一步:创建WebProject 首先,通过IDE...

    程序员面试个人简历.pdf,这是一份不错的文件

    4. **操作系统与工具**:熟悉LINUX系统管理和服务配置,能够熟练运用Eclipse和myEclipse等开发工具。 5. **工作态度与能力**:对待工作认真负责,具备良好的沟通能力和团队合作精神,能吃苦耐劳,勇于接受新挑战。...

    程序员面试个人简历.x.pdf,这是一份不错的文件

    在开发工具方面,求职者熟练使用Eclipse和MyEclipse进行项目开发,懂得运用CVS和SVN进行版本控制,以及使用MAVEN进行项目构建。同时,他对LINUX系统管理和服务配置也有一定的了解。 在个人特质上,求职者展现出认真...

    Java个人简历模板2.doc

    3. **开发工具**:熟练使用Eclipse和MyEclipse,这两个是Java开发中常用的IDE,可以提高开发效率。 4. **数据库操作**:掌握MySQL和Oracle等关系型数据库,熟悉SQL语句的编写,这是数据存储和查询的必备技能。 5. ...

    程序员面试个人简历(JAVA)-(3).doc

    - **Eclipse、MyEclipse**:这是两款常用的Java开发IDE,提供了便捷的代码编写、调试和项目管理功能。 - **MySQL、Oracle**:是两种流行的关系型数据库,求职者熟悉SQL语句并了解MySQL优化,这在数据库操作和性能...

    免费简历模板参考 开发工程师-小鱼9号.docx

    此外,他还了解网络协议,能进行网络编程,以及熟练运用MyEclipse、Eclipse、svn等开发工具。 【工作经历】 在工作经历中,开发者提到了在广州易热捷信息技术有限公司担任java软件工程师的经历,参与了多个项目,如...

    参考简历_2.doc

    数据库 Redis、服务器 Nginx、分布式系统 Hadoop、SSH2 框架、MySql、Sqlserver、Oracle、Eclipse/MyEclipse、SVN、CVS、VSS、Java 基础技术 Jsp、Servlet、Jdbc、JavaScript、Ajax、JQuery、JBPM、PowerDesigner、...

    java程序员简历_java简历.doc

    3. 熟练使用Eclipse/MyEclipse开发工具,以及SVN、CVS、VSS版本控制系统。 4. 熟练掌握JavaScript、Ajax、JQuery等前端技术,提升用户体验。 5. 了解JBPM流程开发,用于业务流程管理。 6. 熟悉PowerDesigner、Rose等...

Global site tag (gtag.js) - Google Analytics