fix: 并发性当前状态获取异常、代码调整.

This commit is contained in:
2025-02-06 15:33:31 +08:00
parent 3a4db562ce
commit 30e37e6630
3 changed files with 10 additions and 10 deletions

View File

@@ -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);

View File

@@ -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());
} }
/** /**

View File

@@ -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));
}
}
} }