Skip to content

Commit d6b397c

Browse files
authored
Merge pull request wildfly#6563 from pferraro/WFCORE-7402
WFCORE-7402 Only apply legacy default worker value if such a worker resource was present.
2 parents 3ca3bcf + 54e682f commit d6b397c

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

io/subsystem/src/main/java/org/wildfly/extension/io/IOSubsystemSchema.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import java.util.List;
99
import java.util.Map;
10+
import java.util.function.BiConsumer;
1011

1112
import org.jboss.as.controller.SubsystemSchema;
13+
import org.jboss.as.controller.PathAddress;
1214
import org.jboss.as.controller.ResourceRegistration;
1315
import org.jboss.as.controller.persistence.xml.ResourceXMLChoice;
1416
import org.jboss.as.controller.persistence.xml.ResourceXMLParticleFactory;
@@ -18,6 +20,7 @@
1820
import org.jboss.as.controller.persistence.xml.ResourceRegistrationXMLElement;
1921
import org.jboss.as.controller.xml.VersionedNamespace;
2022
import org.jboss.as.controller.xml.XMLCardinality;
23+
import org.jboss.dmr.ModelNode;
2124
import org.jboss.staxmapper.IntVersion;
2225

2326
/**
@@ -49,8 +52,16 @@ public SubsystemResourceRegistrationXMLElement getSubsystemXMLElement() {
4952
if (this.since(VERSION_4_0)) {
5053
builder.addAttribute(IOSubsystemResourceDefinitionRegistrar.DEFAULT_WORKER);
5154
} else {
52-
// Apply "magic" default worker referenced by other subsystems
53-
builder.withDefaultValues(Map.of(IOSubsystemResourceDefinitionRegistrar.DEFAULT_WORKER, IOSubsystemResourceDefinitionRegistrar.LEGACY_DEFAULT_WORKER));
55+
builder.withOperationTransformation(new BiConsumer<>() {
56+
@Override
57+
public void accept(Map<PathAddress, ModelNode> operations, PathAddress address) {
58+
// Apply "magic" default worker referenced by other subsystems
59+
// but only if such a worker actually exists
60+
if (operations.containsKey(address.append(WorkerResourceDefinition.pathElement(IOSubsystemResourceDefinitionRegistrar.LEGACY_DEFAULT_WORKER.asString())))) {
61+
operations.get(address).get(IOSubsystemResourceDefinitionRegistrar.DEFAULT_WORKER.getName()).set(IOSubsystemResourceDefinitionRegistrar.LEGACY_DEFAULT_WORKER);
62+
}
63+
}
64+
});
5465
}
5566
ResourceXMLChoice content = this.factory.choice().withCardinality(XMLCardinality.Unbounded.REQUIRED)
5667
.addElement(this.workerElement())

io/subsystem/src/main/java/org/wildfly/extension/io/WorkerResourceDefinition.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@
5555
*/
5656
class WorkerResourceDefinition extends PersistentResourceDefinition {
5757

58-
static final PathElement PATH = PathElement.pathElement(Constants.WORKER);
58+
static final PathElement PATH = pathElement(PathElement.WILDCARD_VALUE);
59+
static final PathElement pathElement(String name) {
60+
return PathElement.pathElement(Constants.WORKER, name);
61+
}
5962
static final RuntimeCapability<Void> CAPABILITY = RuntimeCapability.Builder.of(IOServiceDescriptor.WORKER).build();
6063

6164
static final OptionAttributeDefinition WORKER_TASK_CORE_THREADS = new OptionAttributeDefinition.Builder(Constants.WORKER_TASK_CORE_THREADS, Options.WORKER_TASK_CORE_THREADS)

0 commit comments

Comments
 (0)