SlideShare una empresa de Scribd logo
1 de 33
Spring  Integration  in jBPM 4 Andries Inzé [email_address] http://andries.inze.be
About me ,[object Object],[object Object],[object Object]
Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why do we need it? ,[object Object],[object Object],[object Object],[object Object]
WIIFY ,[object Object],[object Object],[object Object],[object Object],What’s In It For  YOU ?
How much is realized? ,[object Object],[object Object],[object Object]
Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
jBPM 4 Architecture ,[object Object],[object Object],[object Object]
jBPM 4 Architecture ,[object Object],[object Object],[object Object]
jBPM 4 Architecture Dependency Lookup Environment Process Service Execution Service Management Service Hibernate Session Factory Transaction Manager … ,[object Object]
jBPM 4 Architecture Dependency Lookup (2) ProcessEngineContext TransactionContext Hibernate Session Hibernate Session Factory
jBPM 4 Architecture Dependency Lookup (3) SpringContext ProcessEngineContext TransactionContext Hibernate Session Factory Transaction Manager … Activity Hibernate Session
jBPM 4 Architecture ,[object Object],[object Object],[object Object]
Transaction Handling Process Service Execution Service History Service Command Service Commands Service API
Transaction Handling (2) ,[object Object],Process Service Execution Service History Service Command Service Standard Transaction Interceptor
Transaction Handling (3) ,[object Object],Process Service Execution Service History Service Command Service Business Service Transaction Interceptor
Transaction Handling (4) ,[object Object],[object Object],[object Object],[object Object]
jBPM 4 Architecture ,[object Object],[object Object],[object Object]
Activity ,[object Object],[object Object],[object Object],[object Object],[object Object],< hql  name = &quot;count activities&quot; var = &quot;activities&quot; unique = &quot;true&quot; > < query > select count(*) from org.jbpm.pvm.internal.model.ActivityImpl </ query > < transition  to = &quot;wait&quot;  /> </ hql >
SpringBeanActivity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration (4) < bean  id = &quot;processEngine&quot;  factory-bean = &quot;jbpmConfiguration&quot;  factory-method = &quot;buildProcessEngine&quot;  /> < bean  id = &quot;executionService&quot;  factory-bean = &quot;processEngine&quot;  factory-method = &quot;getExecutionService&quot;  /> … ,[object Object]
Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],jBPM   Testing
AbstractTransactional SpringJbpmTestCase public   class  FindExecutionTest  extends  AbstractTransactionalSpringJbpmTestCase { protected  String[]  getConfigLocations() { return   new  String[]{ &quot;org/jbpm/spring/test/applicationContext.xml&quot; }; } public   void   testFindExecutionById () { deployJpdlXmlString( &quot;<process name='p'>&quot;  + &quot;  <start>&quot;  + &quot;  <transition to='a' />&quot;  + &quot;  </start>&quot;  + &quot;  <state name='a' />&quot;  + &quot;</process>&quot; ); Execution execution =  executionService .startProcessInstanceByKey( &quot;p&quot; ); execution =  executionService .findExecution(execution.getId()); assertNotNull(execution); assertEquals( &quot;a&quot; , execution.getActivityName()); }
JbpmTestCase public   class  FindExecutionTest  extends  JbpmTestCase { public   void  testFindExecutionById() { deployJpdlXmlString( &quot;<process name='p'>&quot;  + &quot;  <start>&quot;  + &quot;  <transition to='a' />&quot;  + &quot;  </start>&quot;  + &quot;  <state name='a' />&quot;  + &quot;</process>&quot; ); Execution execution =  executionService .startProcessInstanceByKey( &quot;p&quot; ); // take the id and see if the execution service can still find it back execution =  executionService .findExecution(execution.getId()); assertNotNull(execution); assertEquals( &quot;a&quot; , execution.getActivityName()); }
Best practice ,[object Object],[object Object],[object Object],[object Object]
Future ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q&A [email_address]

Más contenido relacionado

Similar a Spring integration with jBPM4

JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)Eric D. Schabell
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPMEric D. Schabell
 
Struts2
Struts2Struts2
Struts2yuvalb
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing frameworkIndicThreads
 
JSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLJSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLseleciii44
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Michiel Rook
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet Sagar Nakul
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet Sagar Nakul
 
jBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesjBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesKris Verlaenen
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationDavid Calavera
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructurePamela Fox
 

Similar a Spring integration with jBPM4 (20)

JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
 
Struts2
Struts2Struts2
Struts2
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing framework
 
JSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLJSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTL
 
Spring Capitulo 05
Spring Capitulo 05Spring Capitulo 05
Spring Capitulo 05
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)
 
Jsfsunum
JsfsunumJsfsunum
Jsfsunum
 
Struts,Jsp,Servlet
Struts,Jsp,ServletStruts,Jsp,Servlet
Struts,Jsp,Servlet
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet
 
jBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesjBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business Processes
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
 
Spring overview
Spring overviewSpring overview
Spring overview
 
Os Leonard
Os LeonardOs Leonard
Os Leonard
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Struts2
Struts2Struts2
Struts2
 
Jsp
JspJsp
Jsp
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 

Más de Andries Inzé

Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beAndries Inzé
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Andries Inzé
 
JBUG.be Artesis Hogeschool
JBUG.be Artesis HogeschoolJBUG.be Artesis Hogeschool
JBUG.be Artesis HogeschoolAndries Inzé
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?Andries Inzé
 

Más de Andries Inzé (6)

Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.be
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be
 
JBUG.be Artesis Hogeschool
JBUG.be Artesis HogeschoolJBUG.be Artesis Hogeschool
JBUG.be Artesis Hogeschool
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?
 
JBUG.be jBPM4
JBUG.be jBPM4JBUG.be jBPM4
JBUG.be jBPM4
 
JBUG.be Infinispan
JBUG.be InfinispanJBUG.be Infinispan
JBUG.be Infinispan
 

Último

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Spring integration with jBPM4

  • 1. Spring Integration in jBPM 4 Andries Inzé [email_address] http://andries.inze.be
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. jBPM 4 Architecture Dependency Lookup (2) ProcessEngineContext TransactionContext Hibernate Session Hibernate Session Factory
  • 12. jBPM 4 Architecture Dependency Lookup (3) SpringContext ProcessEngineContext TransactionContext Hibernate Session Factory Transaction Manager … Activity Hibernate Session
  • 13.
  • 14. Transaction Handling Process Service Execution Service History Service Command Service Commands Service API
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. AbstractTransactional SpringJbpmTestCase public class FindExecutionTest extends AbstractTransactionalSpringJbpmTestCase { protected String[] getConfigLocations() { return new String[]{ &quot;org/jbpm/spring/test/applicationContext.xml&quot; }; } public void testFindExecutionById () { deployJpdlXmlString( &quot;<process name='p'>&quot; + &quot; <start>&quot; + &quot; <transition to='a' />&quot; + &quot; </start>&quot; + &quot; <state name='a' />&quot; + &quot;</process>&quot; ); Execution execution = executionService .startProcessInstanceByKey( &quot;p&quot; ); execution = executionService .findExecution(execution.getId()); assertNotNull(execution); assertEquals( &quot;a&quot; , execution.getActivityName()); }
  • 30. JbpmTestCase public class FindExecutionTest extends JbpmTestCase { public void testFindExecutionById() { deployJpdlXmlString( &quot;<process name='p'>&quot; + &quot; <start>&quot; + &quot; <transition to='a' />&quot; + &quot; </start>&quot; + &quot; <state name='a' />&quot; + &quot;</process>&quot; ); Execution execution = executionService .startProcessInstanceByKey( &quot;p&quot; ); // take the id and see if the execution service can still find it back execution = executionService .findExecution(execution.getId()); assertNotNull(execution); assertEquals( &quot;a&quot; , execution.getActivityName()); }
  • 31.
  • 32.