fix: 并发性当前状态获取异常、代码调整.
This commit is contained in:
@@ -185,6 +185,14 @@ public abstract class AbstractStateMachine<S> extends AbstractStateManager<S> im
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void publish(Object event) {
|
||||||
|
List<Consumer<StateMachine<S>>> consumers = context.eventRegistries.get(event);
|
||||||
|
if (consumers != null) {
|
||||||
|
consumers.forEach(consumer -> consumer.accept(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public S switchPrevAndGet() {
|
public S switchPrevAndGet() {
|
||||||
return switchPrevAndGet(true);
|
return switchPrevAndGet(true);
|
||||||
|
|||||||
@@ -143,8 +143,8 @@ public class DefaultConcurrentStateMachine<S> extends AbstractStateMachine<S> im
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void publish(Object event) {
|
public S current() {
|
||||||
|
return get(index.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -35,12 +35,4 @@ public class StandardStateMachine<S> extends AbstractStateMachine<S> implements
|
|||||||
) {
|
) {
|
||||||
super(stateList, entryHandlers, leaveHandlers, exchangeHandlers, eventRegistries, executor, async);
|
super(stateList, entryHandlers, leaveHandlers, exchangeHandlers, eventRegistries, executor, async);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void publish(Object event) {
|
|
||||||
List<Consumer<StateMachine<S>>> consumers = context.eventRegistries.get(event);
|
|
||||||
if (consumers != null) {
|
|
||||||
consumers.forEach(consumer -> consumer.accept(this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user