Using Data Hub API
- Last Updated: April 5, 2026
- 2 minute read
Run a Flow Using the Data Hub Java API
About this task
You can programmatically run a flow using the MarkLogic Data Hub Java API.
Procedure
-
In your build configuration file, declare the dependency on MarkLogic Data Hub Java API.
Gradle
dependencies { compile('com.marklogic:marklogic-data-hub:5.0.4') }Maven
<dependency> <groupId>com.marklogic</groupId> <artifactId>marklogic-data-hub</artifactId> <version>5.0.4</version> <type>pom</type> </dependency>Ivy
<dependency org='com.marklogic' name='marklogic-data-hub' rev='5.0.4'> <artifact name='$AID' ext='pom'></artifact> </dependency> -
Copy the following code and customize it according to your needs.
Note:
runFlowallows you to run all the steps in the flow or only the steps you specify.package com.marklogic.hub.flow; import com.marklogic.hub.ApplicationConfig; import com.marklogic.hub.HubConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.WebApplicationType; import javax.annotation.PostConstruct; import java.util.Arrays; public class MyApp { // Get a HubConfig instance. @Autowired HubConfig hubConfig; // Get a FlowRunner instance. @Autowired FlowRunner fr; @PostConstruct void runUserFlows() { /* * After Spring creates the HubConfig object and the project is initialized with * createProject(String), you can use setter methods to change the HubConfig properties * and then call the refreshProject() method which will load the HubConfig object with values * from gradle.properties (optionally overridden with gradle-{env}.properties) and the setters. */ hubConfig.createProject("/path/to/your/project"); hubConfig.withPropertiesFromEnvironment("local"); hubConfig.refreshProject(); // Runs the entire flow. RunFlowResponse testFlowResp = fr.runFlow("testFlow"); // Runs only the specified steps. RunFlowResponse mapFlowResp = fr.runFlow("mapFlow", Arrays.asList("1","3")); // Wait for the flow to end. fr.awaitCompletion(); } public static void main(String[] args) { // Start the Spring application. SpringApplication app = new SpringApplication(MyApp.class, ApplicationConfig.class); app.setWebApplicationType(WebApplicationType.NONE); app.run(); } } -
Run your code.
See Also
Related concepts
Related tasks
Related information