Автопроводка в блоке статической инициализации

Я пытаюсь построить простой FSM с использованием Akka в Spring Boot. К сожалению, как задокументировано, FSM должен быть инициализирован в блоке области видимости.

Например, в следующем примере

public class Buncher extends AbstractFSM<State, Data> {
  {
    startWith(Idle, Uninitialized);

    when(Idle,
      matchEvent(SetTarget.class, Uninitialized.class,
        (setTarget, uninitialized) ->
          stay().using(new Todo(setTarget.getRef(), new LinkedList<>()))));

    onTransition(
      matchState(Active, Idle, () -> {
        // reuse this matcher
        final UnitMatch<Data> m = UnitMatch.create(
          matchData(Todo.class,
            todo -> todo.getTarget().tell(new Batch(todo.getQueue()), getSelf())));
        m.match(stateData());
      }).
      state(Idle, Active, () -> {/* Do something here */}));

    when(Active, Duration.ofSeconds(1L),
      matchEvent(Arrays.asList(Flush.class, StateTimeout()), Todo.class,
        (event, todo) -> goTo(Idle).using(todo.copy(new LinkedList<>()))));

    whenUnhandled(
      matchEvent(Queue.class, Todo.class,
        (queue, todo) -> goTo(Active).using(todo.addElement(queue.getObj()))).
        anyEvent((event, state) -> {
          log().warning("received unhandled request {} in state {}/{}",
            event, stateName(), state);
          return stay();
        }));

    initialize();
  }
}

Я хочу использовать свойства приложения с пометкой ConfigurationProperties в этом блоке. Могу ли я автоматически связать свойства в этом блоке?

0 ответов

Другие вопросы по тегам