All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.camunda.bpm.engine.management.JobDefinition Maven / Gradle / Ivy

There is a newer version: 7.23.0-alpha1
Show newest version
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information regarding copyright
 * ownership. Camunda licenses this file to you under the Apache License,
 * Version 2.0; you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.camunda.bpm.engine.management;

import org.camunda.bpm.engine.ManagementService;
import org.camunda.bpm.engine.repository.ProcessDefinition;

/**
 * 

A Job Definition provides details about asynchronous background * processing ("Jobs") performed by the process engine.

* *

Each Job Definition corresponds to a Timer or Asynchronous continuation * job installed in the process engine. Jobs definitions are installed when * BPMN 2.0 processes containing timer activities or asynchronous continuations * are deployed.

* * @author Daniel Meyer * */ public interface JobDefinition { /** * @return the Id of the job definition. */ String getId(); /** * @return the id of the {@link ProcessDefinition} this job definition is associated with. */ String getProcessDefinitionId(); /** * @return the key of the {@link ProcessDefinition} this job definition is associated with. */ String getProcessDefinitionKey(); /** * The Type of a job. Asynchronous continuation, timer, ... * * @return the type of a Job. */ String getJobType(); /** * The configuration of a job definition provides details about the jobs which will be created. * For timer jobs this method returns the timer configuration. * * @return the configuration of this job definition. */ String getJobConfiguration(); /** * The Id of the activity (from BPMN 2.0 Xml) this Job Definition is associated with. * * @return the activity id for this Job Definition. */ String getActivityId(); /** * Indicates whether this job definition is suspended. If a job Definition is suspended, * No Jobs created form the job definition will be acquired by the job executor. * * @return true if this Job Definition is currently suspended. */ boolean isSuspended(); /** *

Returns the execution priority for jobs of this definition, if it was set using the * {@link ManagementService} API. When a job is assigned a priority, the job definition's overriding * priority (if set) is used instead of the values defined in the BPMN XML.

* * @return the priority that overrides the default/BPMN XML priority or null if * no overriding priority is set * * @since 7.4 */ Long getOverridingJobPriority(); /** * The id of the tenant this job definition belongs to. Can be null * if the definition belongs to no single tenant. */ String getTenantId(); /** * The id of the deployment this job definition is related to. In a deployment-aware setup, * this leads to all jobs of the same definition being executed on the same node. */ String getDeploymentId(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy