Add batch-jberet subsystem to replace the original batch subsystem
------------------------------------------------------------------
Key: WFLY-4811
URL:
https://issues.jboss.org/browse/WFLY-4811
Project: WildFly
Issue Type: Enhancement
Components: Batch
Reporter: James Perkins
Assignee: James Perkins
Fix For: 10.0.0.Beta1
The original batch subsystem will not work well with capabilities and requirements.
It's also fairly limited in the validation it can offer for the job repositories.
Current model:
{code}
{
"outcome" => "success",
"result" => {
"job-repository-type" => "in-memory",
"job-repository" => {"jdbc" => {"jndi-name"
=> undefined}},
"thread-factory" => undefined,
"thread-pool" => {"batch" => {
"keepalive-time" => {
"time" => 30L,
"unit" => "SECONDS"
},
"max-threads" => 10,
"name" => "batch",
"thread-factory" => undefined
}}
}
}
{code}
The {{job-repository-type}} will be removed as well as the {{job-repository=jdbc}}. A new
{{jdbc-job-repository}} and {{in-memory-job-repository}} resource will be added. There
will also be a {{default-job-repository}} which will accept a name from one of the defined
job repositories.
The {{jndi-name}} will no longer be used and a {{data-source}} name will be used for the
JDBC job repository. For example resource value might be {{ExampleDS}}.
A new deployment descriptor will be added to allow a user to defined a job repository
configured on the subsystem.
Due to these changes the persisted XML will likely need some small alterations. Mainly
ensuring a name attribute is persisted and multiple repositories are allowed to be
defined.
The current batch subsystem will remain. It will allow the server to boot with old
configurations, but the default with be the new {{batch-jberet}} subsystem.