Skip to main content
Temporal Java SDK

Introduction to the Temporal Java SDK

~10 minutesBeginnerJava
  1. Introduction
  2. Project setup
  3. Durable execution

Welcome to the Temporal Java SDK Background Check tutorial. The Temporal Java SDK Background Check tutorial documents the concepts, features, and tools that you'll use to create, test, and execute Temporal applications in Java.

Temporal Java SDK API reference

The Temporal Java SDK released on March 28, 2020.

Supported runtimes

Developing applications with the Temporal Java SDK requires Java 1.8 or later.

Build configuration

Find the latest release of the Temporal Java SDK at Maven Central.

Add temporal-sdk as a dependency to your pom.xml:

pom.xml
<dependency>
<groupId>io.temporal</groupId>
<artifactId>temporal-sdk</artifactId>
<version>N.N.N</version>
</dependency>

Or to build.gradle:

build.gradle
compile group: 'io.temporal', name: 'temporal-sdk', version: 'N.N.N'

Expected skills and experiences

The Temporal Platform enables developers to build a wide range of applications that serve a variety of use cases. The following skills will help you succeed with the Java SDK at production scale.

Recommended

Core fundamentals:

  • Java syntax and structure
  • Data types
  • Operators
  • Control statements: loops, conditionals
  • Basic Input/Output
  • Understanding of Java Virtual Machine (JVM)

Object-oriented programming:

  • Classes and objects
  • Interfaces
  • Inheritance
  • Encapsulation
  • Polymorphism

Java language features:

  • Annotations
  • Exception handling
  • Collections Framework
  • Java Stream API
  • Lambdas and functional interfaces
  • Threads and concurrency
Nice to have

Tools: beginner to moderate experience using a Java IDE, such as IntelliJ IDEA or Eclipse.

Testing: experience with a testing library and framework such as JUnit or Mockito.

Code base version control: experience using a version control system, such as Git.

Dependency management: experience using a dependency management system such as Maven or Gradle.

Listing and sorting: experience with SQL-like syntax and CRUD operational concepts to make use of Temporal's Visibility tools.

Security: to onboard with Temporal Cloud or set up a self-hosted Cluster, you should have some understanding and experience with TLS, security certificates, and private keys.

Privacy: for applications that process any amount of user data, you should have some understanding and experience with PII and sensitive information encryption.

Complex and large scale use cases

For complex and large-scale use cases, at least some experience with the following can be helpful:

  • Deeper JVM understanding: memory management, garbage collection, JIT compilation.
  • Design patterns: singleton, factory, strategy, observer.
  • Distributed system architectures: event-driven architectures, stateful vs stateless processes, scalability, fault tolerance.

Code samples and resources

Where to find code samples and other resources for the Java SDK:

Where to get help with the Java SDK:

Updates

How to follow updates to the Java SDK:

Contribution

The Temporal Java SDK is Apache 2.0 licensed, and contributions are welcome. Review the contribution guidelines.

Get notified when we launch new educational content

New courses, tutorials, and learning resources - straight to your inbox.

Subscribe
Feedback