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

io.statusmachina.core.spi.StateMachineService Maven / Gradle / Ivy

Go to download

Core functionality for Status Machina, a small, simple and pragmatic state machine for resilient microservices orchestration.

There is a newer version: 8.4.2
Show newest version
/*
 *
 * Copyright 2019 <---> Present Status Machina Contributors (https://github.com/entzik/status-machina/graphs/contributors)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * 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
 *
 * This software 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 io.statusmachina.core.spi;

import io.statusmachina.core.TransitionException;
import io.statusmachina.core.api.MachineDefinition;
import io.statusmachina.core.api.Machine;
import io.statusmachina.core.api.MachineSnapshot;

import java.util.Map;
import java.util.List;

public interface StateMachineService {
     Machine newMachine(MachineDefinition type, Map context) throws TransitionException;
     Machine newMachine(MachineDefinition type, String id, Map context) throws TransitionException;
     Machine read(MachineDefinition def, String id) throws TransitionException;
     void create(Machine instance);
     void update(Machine instance);
    List findStale(long seconds);
    List findFailed();
    List findTerminated();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy