- Quick fix to get something out from
new boot 2.x metrics.
- Change source to java 8 compat
- Add new micrometer deps to build
- Docs and further changes will get done
when new boot metric system completes.
- Fixes#410
- As passing in null context don't have any
meaning other than doing reset with pre-defined
behaviour which currently just resets back to
initial state and clears extended state variables.
Now Also clearing machine id back to null which is
anyway a default value.
- Backport #381
- Relates #307
- Fixing machine lifecycle logic when machine
is restored which effectively should not touch
any lifecycle methods as start/stop is
user level action.
- Remove start/stop from restore and attempt to
do same when root machine is started. This also
needed some further changes as some functionality
for restore was essentially broken
- Backport #386
- Relates #307
- Fix case where method was annotated with
@OnExtendedStateChanged(key = "V1"), V1 was
changed which didn't result call to that method.
- Backport #387
- Relates #307
- Change processor registration so that if @WithStateMachine is
used with 'id', 'name' is skipped because it defaults to 'stateMachine'
and would cause extra registration.
- Relates #307
- Backport #370
- Adding null check for current state
- Remove synchronization from scheduleEventQueueProcessing
method in executor. Looks like this sync is not really needed
and indeed may cause jvm level deadlocks if threads are used
for execution.
- Change how some internals in
AbstractStateMachine are synchronized
to limit changes for deadlock.
- Relates to #307
- Backport of #359#360
- Adding support for javaconfig/uml to define
actions for transitions leading out from a
choice or junction states.
- Support for action for incoming transition is
already implemented as it is defined as normal
transition.
- Backport #108
- Relates #307
- Executor is following anonymous transitions in a loop
and if there is an exception in actions with this transition,
effectively executor ended into infinite loop.
- No bailing out from this loop if we cannot continue.
- Backport #344
- Relates #307
- Temporary add build to depend on bootJar
so that samples get created as fatjars.
- Required as boot's plugin is currently being
re-implemented and this feature is a bit broken.
- Relates to #342
- Trying to handle scenario where TimerTrigger keeps firing
even if machine is stopped or has moved away from its
hosting state.
- Explicitely handle trigger starts/stops in
DefaultStateMachineExecutor when executor itself
is started/stopped.
- Backport #321
- Relates to #307
- Add new api to Transition to expose calling
its actions.
- Modify rest of a framework to first notify before
calling transtion action.
- Backport #322
- Relates to #307
- Add support to uml parser to properly
detect and use exit/entry points if those
are used via connection ref points with
submachine references.
- Backport #323
- Relates to #307
- Add new tests for DefaultStateMachineExecutor to find
possible causes for a deadlock.
- Handle lifecycle scenario little differently
if timer is fired during a executor starting phase
order to not getting into a deadlock.
- Backport #315
- Relates to #307
- This is now done manually in build as
dep boms don't give it anymore. We do this
until we figure out what is a proper way
to just depend on log4j 2.x.
- Relates to #327
- There is a newer mongo client with changed behaviour
as junit rule skipping tests if mongo is not running
waits 30s for a connect failure. Add new server
select timeout.
- Fixes#314