2016-06-23 4 views
1

I dynamisch folgenden Abschnitt konfigurieren möchten in in standalone.xml Wildfly-8.2.0 konfigurieren:Wildfly: Wie Worker-Threads in IO-Subsystem dynamisch

<worker name="default" io-threads="100" task-max-threads="100"/> 

Grundsätzlich will ich nicht diese Werte fest einprogrammiert werden und berechnen sie zum Zeitpunkt des Serverstarts und übergeben sie als JBoss-Boot-Parameter. Ich habe so etwas wie dies:

<worker name="default" io-threads="${my.io.threads:100}" task-max-threads="${my.task.max.threads:1000}"/> 

Ich bin vorbeifahrende Parameter wie -Dmy.io.threads und -Dmy.task.max.threads während Wildfly Server starten. Aber es andernfalls standalone.xml mit folgenden Ausnahme zu analysieren:

ERROR [org.jboss.as.server] (Controller Boot Thread) JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration 
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:112) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:259) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45] 
Caused by: java.lang.NumberFormatException: For input string: "${my.io.threads:100}" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) [rt.jar:1.8.0_45] 
    at java.lang.Integer.parseInt(Integer.java:569) [rt.jar:1.8.0_45] 
    at java.lang.Integer.parseInt(Integer.java:615) [rt.jar:1.8.0_45] 
    at org.jboss.dmr.StringModelValue.asInt(StringModelValue.java:139) [jboss-dmr-1.2.0.Final.jar:1.2.0.Final] 
    at org.jboss.dmr.ModelNode.asInt(ModelNode.java:240) [jboss-dmr-1.2.0.Final.jar:1.2.0.Final] 
    at org.jboss.as.controller.AttributeParser.parse(AttributeParser.java:116) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.AttributeParser.parse(AttributeParser.java:82) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.AttributeParser$DiscardOldDefaultValueParser.parse(AttributeParser.java:177) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.AttributeParser.parseAndSetParameter(AttributeParser.java:61) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.PersistentResourceXMLDescription.parse(PersistentResourceXMLDescription.java:83) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.PersistentResourceXMLDescription.parseChildren(PersistentResourceXMLDescription.java:135) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.controller.PersistentResourceXMLDescription.parse(PersistentResourceXMLDescription.java:107) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    at org.wildfly.extension.io.IOSubsystemParser_1_0.readElement(IOSubsystemParser_1_0.java:71) 
    at org.wildfly.extension.io.IOSubsystemParser_1_0.readElement(IOSubsystemParser_1_0.java:41) 
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final] 
    at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final] 
    at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final] 
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final] 
    at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final] 
    ... 3 more 

ich gelesen habe, dass IO-Subsystem nicht Ausdrücke nicht unterstützt. Gibt es einen anderen Weg, dies zu erreichen? Gibt es einen internen Parameter, der beim Übergeben dieser Werte überschrieben wird?

Antwort

2

Wildfly-8.2.0 keine Ausdrücke für io-threads und task-max-threads Attribute im Arbeitsabschnitt des IO-Subsystem unterstützt. Ich habe eine Jira ticket unter WFCORE-Projekt angehoben, um dies vom Jboss-Team angesprochen zu haben.

2

Da es Ausdrücke nicht unterstützt, gibt es keine Möglichkeit, es dynamisch zu konfigurieren. In WildFly 10.0.0.Final wird es jedoch dynamisch generiert, wenn es leer gelassen wird.

Geben Sie die Anzahl der E/A-Threads an, die für den Worker erstellt werden sollen. Wenn nicht anders angegeben, wird ein Standard ausgewählt werden, die durch CPUCount errechnet * 2