process-automation-component
1.7.0 (2025-01-30)
Added
- #99 Added
TransitionMonitor
to hook into transition progress for monitoring. - #99 Added
@anchor:monitoring-*
hooks to Transitioners. Monitor is injected when the#monitoring
tag is present. - #105 Added check to
{DataElement}Cruds
to prevent modify actions while a task is busy on that element.- Adds the
workflow.concurrentModificationError
diagnostic when the check fails.
- Adds the
- #106 Added
ProcessingPolicy
to configure queuedProcessor policies.ErrorRateShutdownPolicy
shuts down a service when it exceeds a configured error-rate.ErrorRecoveryPolicy
starts recovery on error after a specified timeout.DailyRecoveryPolicy
starts recovery every day at a specified time (including timezone).
- #106 Added
{queuedProcessor}PolicyManager
Singleton to handle all events configured in the policies.
Changed
- #106 The
default
execution now shuts down when over 30 errors/minute. Recovery is triggered 10 minutes later. - #113 Replace uses of
TransactionManager
withTransactionSynchronizationRegistry
for better EE8 spec support.TransactionPostCommitHook::apply(TransactionManager,Runnable)
is now deprecated for removal.
- ApplicationPersistence queue will now do immediate re-fetching when the cache was filled up by the previous fetch.
- This should improve processing speed without lowering the regular fetching interval.
Removed
- #106 Removed
WorkerNodeServiceError
(noDataLayer) element. - #106 Removed some runtime classes which were unused or replaced by policies.
Fixed
- #109 Fixed ApplicationPersistent queue to define a cleanupInterval of 60 minutes if none is specified (configure 0 to disable).
- #113 Fixed
ejb.interfaces.localOnly
breaking process-automation internals due to missing methods. - #115 Fixed transaction rollback not setting the failed state leaving items in their interim state.
- #116 Fixed locking issue in WorkerNodeProcessor when transitions take long.
1.6.2 (2025-01-17)
Fixed
- #110 Fixed CompletableFuture being completed before the job is fully executed.
- Fixes issues with the ByDataCommand trigger (blocking) which returned too early.
1.6.1 (2025-01-15)
Added
- Added
jakarta.ejb.ConcurrencyManagement
to coordinate redirections.
Changed
- #107 Changed recovery to use a separate transaction for each element.
Fixed
- #107 Fixed
ApplicationPersistence
queueDriver crashes due to unreleased EJB locks.
1.6.0 (2024-11-29)
Added
- Added
#monitoring
root tag to control additional monitoring hooks.- Added
QueuedProcessorMonitor
to hook into queue events for monitoring. - Added
WorkerNodeMonitor
to hook into workerNode events for monitoring. - Added
asReference
default method onTransitionRef
interface.
- Added
- #83 Added
transition.timeout.seconds
to override the default transaction timeout for a transition.
Changed
- Changed
{Workflow}Scheduler
to be an interface implemented by{Workflow}SchedulerBean
.
1.5.4 (2024-11-14)
Fixed
- #96 Fixed checked exceptions in a Task (EJB) leaking into the Transitioner.
1.5.1 (2024-09-05)
Added
- Added custom-anchor for adjusting TransitionContext of a ByDataCommand trigger.
1.5.0 (2024-08-30)
Added
- (workflow#40) Add support for granular migration of workflows.
Changed
- (#73) Changed schedule trigger to fetch elements by pages of size 100.
- Upgrade
workflow-metamodel
to v1.9.0. - Upgrade
prime-builders
to v2.4.3.
Removed
- (#73) Removed transactions from the schedule trigger.
1.4.0 (2024-08-20)
Added
- (#66) Added (custom) anchors to
{Workflow}EngineBean
for adding SortFields. - (#66) Added option
flowEngine.sortField: (asc|desc)
to add elements::Field as sortFields. - (#66) Added feature to automatically sort (ascending) on
audit.modify.timestamp
fields.
Fixed
- Fixed crashing a service if an executed task is prematurely cancelled. Logs a warning instead.
Changed
- Updated
prime-core
to version2024.4.5
- Updated
Expanders
to version7.7.2
1.3.1 (2024-08-02)
Changed
- (#65) Improved performance of various searches by skipping the (unused) count query.
1.3.0 (2024-07-25)
Added
- Added
SCHEDULE
WorkflowProcessingContext to indicate the pre-execution phase.
Changed
- Changed
Triggers
helper methods frombyCommand
andby
tobyDataCommand
. {Transition}Schedule
and{Workflow}EngineBean
will now contain theSCHEDULE
WorkflowProcessingContext
1.2.1 (2024-06-25)
Changed
- Updated
prime-core
to2024.3.14
. - Updated
workflow-metamodel
to1.8.3
.
Fixed
- Fixed dependency on SNAPSHOT version.
1.2.0 (2024-06-12)
Changed
- Updated
prime-core
to2024.3.13
. - Updated
workflow-metamodel
to1.8.2
. - Started using the
metamodels.v3
Metamodel expansion.
Removed
- Removed support for the
elements
metamodel representation.
Fixed
- Fixed incorrect error logging when transaction is marked for rollback during a transition.
1.1.5 (2024-05-28)
Added
- Added
WorkflowProcessingContext
context group to indicate processing status (processing, recovery) of the workflow.
Fixed
- Fixed TaskJobQueue to crash when recovery queries encounter issues.
- Fixed WorkerNode not stopping when queue driver produces errors.
1.1.4 (2024-05-23)
Changed
- Changed
{DataElement}Events
to be an interface.
Added
- Added
{DataElement}EventsBean
to implement{DataElement}Events
for EJB.
1.1.3 (2024-05-17)
Changed
- Changed error reporting to have more readable messages.
- Changed
@anchor:after-*
in Transitioners to only execute on success.
Fixed
- Fixed WorkerNodeService not recovered when WorkerNode recovery was triggered.
- Fixed FlowEngine not properly cancelling tasks when service is stopped.
1.1.2 (2024-05-08)
Added
- Added a 'LIKE' finder for TaskJobQueue targets.
Fixed
- Fix issue in enrichment causing missing tags/artifacts.
1.1.1 (2024-04-26)
Changed
- All expanders are now conditional on the presence of processAutomation component.
- Migrated all expanders to use tags instead of condition.
- Defined tag
#workflow.processAutomation
for any artifact dependent on processAutomation
1.1.0 (2024-04-23)
Added
- Possibility to define
WorkSchedule
on a queuedProcessor as an alternative to TimeWindow.- Specify a
startAt
anduntil
time. - Optionally specify a
weekday
. - Optionally specify a
timezone
.
- Specify a
1.0.1 (2024-04-19)
Changed
- Integrated changes from v0.4.2.
- Replaced jackson library definitions to dependency on
nsx-jackson-support
.
1.0.0 (2024-04-08)
Changed
- Added state-machine to WorkerNode for synchronised recovery in multi-node systems.
- The mechanism elects a 'leader' responsible for recovery and any scheduled triggers.
- Optimized ApplicationPersistent queue to not commit 0 jobs when the local cache is empty.
Removed
- Removed unused {Workflow}Task artifact expander.
0.4.2 (2024-04-18)
Added
- Added
@anchor:start-processing-condition
anchors to change startup condition on{Transition}Schedule
and{Workflow}EngineBean
0.4.1 (2024-04-02)
Fixed
- Fixed wrong import when defining blocking ByDataCommand trigger.
- Fixed
name
field not available on the ByDataCommand trigger metamodel.
0.4.0 (2024-03-29)
Added
- Added new
ByDataCommand
Trigger, which will integrate with a dataCommand to trigger a set of Transitions.- By default, transition will execute asynchronously (scheduling).
- DataCommand option
workflow.trigger.blockingMs
to indicate synchronous (blocking) execution. - DataCommand option
workflow.trigger.button
to add a button to the knockout UI.
- Added option
transition.noSelfLoop
on theOnTransition
trigger, to avoid self-loops when the end-state is equal. to the begin-state of a transition.
0.3.2 (2024-02-20)
Added
- Added error handling for calls to
scheduleTransition
. - Added option
workflow.recovery.disable
to opt-out of workflow recovery.
0.3.1 (2024-02-14)
Fixed
- Fixed incorrect import in EngineBean when targetElement packageName is different.
0.3.0 (2024-02-13)
Added
- Added option
executeTask.implementation
to Transition to configure the task implementation used. - Added option
executeTask.context.user
to Transition (and Workflow/Component cascade) to configure the UserContext for the task execution.
Updated
- Update prime-core to version
2024.0.x
- Update Expanders to version
6.5.x
0.2.4 (2024-01-22)
Fixed
- Fixed startup sequence of ApplicationPersistence queues ability to interfere with recovery.
0.2.3 (2024-01-17)
Added
- Added support for
flowEngine.stateTask.maxConcurrentTasks
in FlowEngine trigger.
Changed
- Changed FlowEngine so no two runs can happen simultaneously. Instead a warning is logged.
0.2.2 (2024-01-03)
Fixed
- Fixed TaskJobs being committed before fetch was persisted which caused runtime errors.
0.2.0 (2023-11-23)
Added
- Added button to pause and resume the WorkerNode from the knockout UI.
- Added WorkerNodeService element to improve observability and state management.
- Added button to recover a WorkerNodeService when it reached a failed state.
- Added option
processAutomation.tracelog.exclude
to exclude a workflow/transition from trace logging. - Introduced
TransitionContext
for a more obvious interface to the {Workflow}Scheduler. - Added cleanup of 'Committed' TaskJobQueue entries. Default is configured to run once every 60 minutes.
Changed
- Package name and groupId changed from
net.democritus.processAutomation
tonet.democritus.processautomation
in accordance with java convention.- Impact should be low, as these are mostly used internally.
- Expanders now mostly use @imports for their import handling.
- Event triggers are now scheduled within the transaction, QueueDrivers must ensure the job can only be pulled after commit.
- Split the
process-automation-core
module intomodel
andcore
wheremodel
only contains the component model. - Changed transition error logging to make its origin obvious.
- Removed uses of java 9+ api from EngineBean to make it java 8 compatible.
0.1.4 (2023-10-17)
Changed
- Marked process automation with
isBaseComponent
- Removed dependency on
validation
component
0.1.3 (2023-09-28)
Fixed
- Fixed compile error when no batchSize was defined for a FlowEngine.
Changed
- Updated
workflow-metamodel
to version1.6.2
0.1.0 (2023-09-19)
- Preview release