Public Courses

Interacting with Workflows with Java (interactwf_java)


Description
In this course, you'll expand your ability to write dynamic Workflows by learning how to interact with them and enabling them to respond to external stimuli.

When you've completed the course, you'll be able to:
- Integrate Signals and Queries with Workflows
- Develop Custom Search Attributes to identify specific Workflow Executions
- Evaluate methods to stop Workflow Executions
- Develop Activities asynchronously

Prerequisites:

To be successful in this course, you should have an understanding of the fundamental concepts, tools, and techniques used to develop and execute basic Temporal applications with the Java SDK. This includes the ability to develop and execute Temporal Workflows and Activities, navigate the Web UI, configure and run a Worker, as well as an understanding of the high-level interactions between the Temporal Application and Temporal Cluster during Workflow Execution. We strongly recommend that you complete Temporal 101 and 102, which cover these topics, before starting this course.

Since code used in examples and exercises are written in Java, you must also have at least basic proficiency with the Java programming language.

Programming Language: Java Number of hours: 3

Content
  • About this course
  • Welcome
  • Meet the Instructors
  • Format and Duration
  • Course Outcomes
  • Exercise Environment
  • (Optional Activity) Setting Up a Local Development Environment
  • Course Conventions
  • Getting Help
  • signaling your workflows
  • Signaling Your Workflows: What to Expect
  • What are Signals?
  • Developing Signals
  • What is DynamicSignalHandler?
  • How to Send Signals
  • Signal-With-Start
  • Common Issues with Signals
  • What is the Entity Workflow Pattern?
  • Exercise #1: Sending an External Signal
  • Signals in Your Event History
  • Exercise #2: Sending a Signal from the Client
  • Querying Your Workflows
  • Querying Your Workflows: What to Expect
  • What are Queries?
  • Developing Queries
  • Sending Queries
  • Dynamic Queries
  • Hands-On Exercise #3: Querying Workflows
  • Finding Workflows with Search Attributes
  • Finding Workflows with Search Attributes: What to Expect
  • What is the Temporal Visibility Feature?
  • What is a List Filter?
  • What is a Search Attribute?
  • How to Create Custom Search Attributes
  • How to Use Custom Search Attributes
  • Sample: Custom Search Attributes
  • Workflow Cancellations
  • Workflow Cancellations: What to Expect
  • What is an Activity Heartbeat?
  • Canceling a Workflow Execution
  • Canceling vs. Terminating Workflow Executions
  • What are Cancellation Scopes?
  • Cancellation Scope Example
  • Cancellation Scope Patterns
  • What is CanceledFailure?
  • External Cancellation Example
  • Canceling an Activity from a Workflow
  • Asynchronous Activity Completion
  • Asynchronous Activity Completion: What to Expect
  • What is Asynchronous Activity Completion?
  • When to Use Asynchronous Completion
  • Deciding Between Asynchronous Completion and Signals
  • How to Asynchronously Complete Activities
  • Hands-On Exercise #4: Asynchronous Activity Completion
  • Conclusion
  • Essential Points
  • Parting Words
  • For More Information
Completion rules
  • All units must be completed