Closed jmehrens closed 11 months ago
Created new WildFly module:
module add --name=org.eclipse.angus.logging-mailhandler --resources=~/logging-mailhandler-2.0.3-SNAPSHOT.jar --dependencies=jakarta.activation.api,jakarta.mail.api,org.eclipse.angus.activation,org.eclipse.angus.mail
MailHandler is unable to see org.eclipse.angus.activation:
15:00:18,149 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 2) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAILHANDLER")
]): java.lang.IllegalArgumentException: Failed to instantiate class "org.eclipse.angus.mail.util.logging.MailHandler" for handler "MAILHANDLER"
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.lambda$validate$2(AbstractPropertyConfiguration.java:122)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:118)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.lambda$validate$2(AbstractPropertyConfiguration.java:120)
... 35 more
Caused by: java.lang.RuntimeException: Provider for jakarta.activation.spi.MimeTypeRegistryProvider cannot be found
at jakarta.activation.api//jakarta.activation.FactoryFinder.find(FactoryFinder.java:95)
at jakarta.activation.api//jakarta.activation.MimetypesFileTypeMap.getImplementation(MimetypesFileTypeMap.java:397)
at jakarta.activation.api//jakarta.activation.MimetypesFileTypeMap.loadFile(MimetypesFileTypeMap.java:270)
at jakarta.activation.api//jakarta.activation.MimetypesFileTypeMap.<init>(MimetypesFileTypeMap.java:107)
at jakarta.activation.api//jakarta.activation.FileTypeMap.getDefaultFileTypeMap(FileTypeMap.java:110)
at org.eclipse.angus.mail//org.eclipse.angus.mail.util.logging.MailHandler.init(MailHandler.java:2112)
at org.eclipse.angus.mail//org.eclipse.angus.mail.util.logging.MailHandler.<init>(MailHandler.java:565)
... 41 more
I might have to add all resource jars when the module is created.
RESOLUTION: This was due to not adding the 4 jars required for the MailHandler in the module add command.
module add --name=org.eclipse.angus.logging-mailhandler --resource-delimiter=; --resources=~/jaf-api/api/target/jakarta.activation-api-2.2.0-SNAPSHOT.jar;~/mail/api/target/jakarta.mail-api-2.1.3-SNAPSHOT.jar;~/angus-activation/activation-registry/target/angus-activation-2.1.0-SNAPSHOT.jar;~/angus-mail/providers/angus-mail/target/angus-mail-2.0.3-SNAPSHOT.jar --dependencies=jakarta.activation.api,jakarta.mail.api,org.eclipse.angus.activation,org.eclipse.angus.mail,org.jboss.modules,java.logging,org.jboss.logging
Clearing properties uses default values 0 and null:
16:50:39,878 INFO [org.jboss.ws.common.management] (MSC service thread 1-3) JBWS022052: Starting JBossWS 6.2.0.Final (Apache CXF 4.0.0)
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.lambda$applyPostCreate$1(AbstractPropertyConfiguration.java:302)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:66)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.applyPostCreate(AbstractPropertyConfiguration.java:299)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.applyPostCreate(AbstractPropertyConfiguration.java:283)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doApplyPostCreate(LogContextConfigurationImpl.java:313)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:345)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:562)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:460)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:431)
at org.jboss.as.server@21.1.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:466)
at org.jboss.as.server@21.1.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:408)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.setMailProperties(MailHandler.java:1442)
... 24 more
Failed to invoke setter setCapacity with value 0
.java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.lambda$applyPostCreate$1(AbstractPropertyConfiguration.java:302)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:66)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.applyPostCreate(AbstractPropertyConfiguration.java:299)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$2.applyPostCreate(AbstractPropertyConfiguration.java:283)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doApplyPostCreate(LogContextConfigurationImpl.java:313)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:345)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:562)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:460)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:431)
at org.jboss.as.server@21.1.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:466)
at org.jboss.as.server@21.1.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:408)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalArgumentException: Capacity must be greater than zero.
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.setCapacity0(MailHandler.java:2067)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.setCapacity(MailHandler.java:1302)
... 24 more
16:50:40,059 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
Need to troubleshoot the following:
java.util.logging.ErrorManager: 1: SEVERE: Not provider of jakarta.mail.util.StreamProvider was found
java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider was found
at org.eclipse.angus.logging-mailhandler//jakarta.mail.util.FactoryFinder.find(FactoryFinder.java:61)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.util.StreamProvider.provider(StreamProvider.java:199)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.Session.<init>(Session.java:256)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.Session.getInstance(Session.java:309)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.initSession(MailHandler.java:3726)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords0(MailHandler.java:3096)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords(MailHandler.java:3065)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish0(MailHandler.java:712)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish(MailHandler.java:676)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:333)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.logRaw(Logger.java:852)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.logRaw(Logger.java:862)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.log(Logger.java:395)
at org.jboss.modules.log.JDKModuleLogger.doLog(JDKModuleLogger.java:102)
at org.jboss.modules.log.JDKModuleLogger.greeting(JDKModuleLogger.java:175)
at org.jboss.modules.Module.setModuleLogger(Module.java:1148)
at org.jboss.modules.Main.main(Main.java:447)
RESOLUTION: This was due to not setting the CCL during session init.
Must be a test case that is not covered in the test suite for CompactFormatter:
00:32:55,819 ERROR [stderr] (MSC service thread 1-2) java.util.logging.ErrorManager: 5: SEVERE: Format specifier '%s'
00:32:55,847 ERROR [stderr] (MSC service thread 1-2) java.util.MissingFormatArgumentException: Format specifier '%s'
00:32:55,849 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter.format(Formatter.java:2688)
00:32:55,851 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter.format(Formatter.java:2625)
00:32:55,876 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.CompactFormatter$Alternate.formatTo(CompactFormatter.java:838)
00:32:55,883 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter$FormatSpecifier.printString(Formatter.java:3049)
00:32:55,884 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2933)
00:32:55,896 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter.format(Formatter.java:2695)
00:32:55,900 ERROR [stderr] (MSC service thread 1-2) at java.base/java.util.Formatter.format(Formatter.java:2625)
00:32:55,919 ERROR [stderr] (MSC service thread 1-2) at java.base/java.lang.String.format(String.java:4141)
00:32:55,922 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.CompactFormatter.format(CompactFormatter.java:244)
00:32:55,926 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.CollectorFormatter.formatRecord(CollectorFormatter.java:441)
00:32:55,928 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.CollectorFormatter.getTail(CollectorFormatter.java:307)
00:32:55,930 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.tail(MailHandler.java:4088)
00:32:55,932 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords0(MailHandler.java:3160)
00:32:55,934 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords(MailHandler.java:3010)
00:32:55,936 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish0(MailHandler.java:714)
00:32:55,938 ERROR [stderr] (MSC service thread 1-2) at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish(MailHandler.java:678)
00:32:55,949 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:333)
00:32:55,952 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
00:32:55,973 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
00:32:55,975 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
00:32:55,977 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.logRaw(Logger.java:852)
00:32:55,981 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.log(Logger.java:804)
00:32:55,984 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logging@3.4.3.Final//org.jboss.logging.JBossLogManagerLogger.doLogf(JBossLogManagerLogger.java:53)
00:32:55,986 ERROR [stderr] (MSC service thread 1-2) at org.jboss.logging@3.4.3.Final//org.jboss.logging.Logger.infof(Logger.java:1136)
00:32:55,988 ERROR [stderr] (MSC service thread 1-2) at org.jboss.remoting@5.0.27.Final//org.jboss.remoting3.EndpointImpl.<clinit>(EndpointImpl.java:99)
00:32:55,990 ERROR [stderr] (MSC service thread 1-2) at org.jboss.remoting@5.0.27.Final//org.jboss.remoting3.EndpointBuilder.lambda$build$0(EndpointBuilder.java:162)
00:32:55,992 ERROR [stderr] (MSC service thread 1-2) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
00:32:55,995 ERROR [stderr] (MSC service thread 1-2) at org.jboss.remoting@5.0.27.Final//org.jboss.remoting3.EndpointBuilder.build(EndpointBuilder.java:162)
00:32:55,997 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.remoting@21.1.1.Final//org.jboss.as.remoting.EndpointService.start(EndpointService.java:71)
00:32:56,000 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc@1.5.1.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1617)
00:32:56,003 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc@1.5.1.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1580)
00:32:56,006 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc@1.5.1.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1438)
00:32:56,008 ERROR [stderr] (MSC service thread 1-2) at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
00:32:56,010 ERROR [stderr] (MSC service thread 1-2) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
00:32:56,011 ERROR [stderr] (MSC service thread 1-2) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
00:32:56,014 ERROR [stderr] (MSC service thread 1-2) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
00:32:56,016 ERROR [stderr] (MSC service thread 1-2) at java.base/java.lang.Thread.run(Thread.java:833)
RESOLUTION: A new ticket needs to be created so the CompactFormatter doesn't call format but instead calls formatter.out().append
. This is an existing bug in the CompactFormatter.
The test case that is missing is:
WFLYELY00023: KeyStore file '%s' does not exist. Used blank.
There is another issue where the %s wasn't replaced with the correct file path. I think this is an issue where WildFly is not replacing tokens. The workaround is to allow CompactFormatter to replace the tokens.
It seems that org.jboss.logmanager.config.LogContextConfigurationImpl.getValue
is unable to understand overloaded methods such as setSubject
Failed to read or configure the org.jboss.logmanager.LogManager
java.lang.IllegalArgumentException: No formatter named "Alert_from_WildFly" is defined
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:420)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.commit(LogContextConfigurationImpl.java:298)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:546)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:97)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:170)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:132)
at java.logging/java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:446)
at java.logging/java.util.logging.LogManager$2.run(LogManager.java:395)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.logging/java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:383)
at java.logging/java.util.logging.LogManager.getLogManager(LogManager.java:431)
at org.jboss.modules.Main.main(Main.java:444)
Need to test if a pattern formatter can be setup to create a literal subject.
RESOLUTION: A named formatter can be used to set the subject on the MailHandler. The CompactFormatter and CollectorFormatter need to be modified.
WildFly locates setAuthenticator(Authenticator) instead of setAuthenticator(char...) and is unable to set a password string.
21:55:35,845 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAIL")
]): java.lang.IllegalArgumentException: Unknown parameter type for property authenticator on class org.eclipse.angus.mail.util.logging.MailHandler
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:465)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
RESOLUTION: Created https://issues.redhat.com/browse/LOGMGR-340 Need to consider creating a new method in the MailHandler to accept a String for Authenticator. This should allow a literal or a classname.
TODO: need to test if POJO options can be used in WildFly to create a custom Authenticator and then set the property.
Comparator can not be created. Therefore must add string argument method with a unique name.
12:53:47,457 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 2) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAIL")
]): java.lang.IllegalArgumentException: Unknown parameter type for property comparator on class org.eclipse.angus.mail.util.logging.MailHandler
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:465)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
This needs to be a ticket of its own. It would be nice to support a syntax like method references to build comparator chain on the MailHandler and the CollectorFormatter.
Push filter can't be set either. However, I should be able to create a named filter and assign that.
13:16:07,341 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 2) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAIL")
]): java.lang.IllegalArgumentException: No filter named "org" is defined
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.parseFilterExpression(LogContextConfigurationImpl.java:668)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.resolveFilter(LogContextConfigurationImpl.java:731)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:417)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
RESOLUTION: Creating a named filter using jboss-cli allows installing a pushFilter.
/subsystem=logging/filter=DURATION_FILTER:add(module=org.eclipse.angus.mail, class=org.eclipse.angus.mail.util.logging.DurationFilter)
Then in the web console I added a MailHandler property `pushLevel=ALL` and `pushFilter=DURATION_FILTER` which installs.
I tried adding constructor-properties={records=1000,duration=120000} but this fails as the WildFly still attempts to set normal properties which don't exist. Perhaps this is due to org.jboss.logmanager 2.1.19.Final being used in WildFly?
WildFly doesn't understand Formatter arrays as method parameters and MailHandler needs to treat null as zero length:
20:26:45,277 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAIL")
]): java.lang.IllegalArgumentException: Unknown parameter type for property attachmentFormatters on class org.eclipse.angus.mail.util.logging.MailHandler
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:465)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Failed to invoke setter setAttachmentFormatters with value null
.java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$rollback$2(AbstractPropertyConfiguration.java:255)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:66)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.rollback(AbstractPropertyConfiguration.java:235)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doForget(LogContextConfigurationImpl.java:355)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.forget(LogContextConfigurationImpl.java:318)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.forget(ConfigurationPersistence.java:341)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$LoggingWriteAttributeHandler.revertUpdateToRuntime(LoggingOperations.java:472)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$LoggingWriteAttributeHandler.revertUpdateToRuntime(LoggingOperations.java:411)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractWriteAttributeHandler$1$1.handleRollback(AbstractWriteAttributeHandler.java:123)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1736)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1657)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1639)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1600)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1583)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:925)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:798)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.NullPointerException: Cannot read the array length because "formatters" is null
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.setAttachmentFormatters(MailHandler.java:1547)
... 47 more
WildFly doesn't understand string arrays https://github.com/jboss-logging/jboss-logmanager/blob/main/src/main/java/org/jboss/logmanager/configuration/ObjectBuilder.java#L270
20:42:39,658 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("custom-handler" => "MAIL")
]): java.lang.IllegalArgumentException: Unknown parameter type for property attachmentNames on class org.eclipse.angus.mail.util.logging.MailHandler
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.getValue(LogContextConfigurationImpl.java:465)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$validate$0(AbstractPropertyConfiguration.java:213)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:47)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:208)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.validate(AbstractPropertyConfiguration.java:203)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.prepare(ConfigurationPersistence.java:299)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler.lambda$execute$0(LoggingOperations.java:131)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1064)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:785)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Failed to invoke setter setAttachmentNames with value null
.java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.lambda$rollback$2(AbstractPropertyConfiguration.java:255)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.WrappedAction.execute(WrappedAction.java:66)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$1.rollback(AbstractPropertyConfiguration.java:235)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doForget(LogContextConfigurationImpl.java:355)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.forget(LogContextConfigurationImpl.java:318)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.logmanager.ConfigurationPersistence.forget(ConfigurationPersistence.java:341)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$LoggingWriteAttributeHandler.revertUpdateToRuntime(LoggingOperations.java:472)
at org.jboss.as.logging@21.1.1.Final//org.jboss.as.logging.LoggingOperations$LoggingWriteAttributeHandler.revertUpdateToRuntime(LoggingOperations.java:411)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractWriteAttributeHandler$1$1.handleRollback(AbstractWriteAttributeHandler.java:123)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1736)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1657)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1639)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1600)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1583)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:925)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:798)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:476)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1455)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:449)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$executeForResponse$0(ModelControllerImpl.java:259)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeForResponse(ModelControllerImpl.java:259)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.executeOperation(ModelControllerImpl.java:253)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:236)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:213)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.lambda$handleRequest$0(ElytronIdentityHandler.java:62)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
at org.wildfly.security.elytron-base@2.2.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller@21.1.1.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.domain-http-interface@21.1.1.Final//org.jboss.as.domain.http.server.security.ElytronIdentityHandler.handleRequest(ElytronIdentityHandler.java:61)
at io.undertow.core@2.3.7.Final//io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at io.undertow.core@2.3.7.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.7.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.NullPointerException: Cannot read the array length because "names" is null
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.setAttachmentNames(MailHandler.java:1607)
... 47 more
Setting the root logger to FINEST
with an attached AsyncHandler targeting the MailHandler results in a logging feedback loop.
I think there are a few issues here:
In testing setting root logger to FINEST
, the capacity of the AsyncHandler to 5000, and a policy of BLOCK resulted in stalled boot of WildFly. This is because the worker thread itself gets parked when the queue is full along with all other threads that attempt to log. Progress is never made because the worker itself is parked. This means the policy should always be DISCARD.
Here is an example where main thread (number 1) is blocked by put and the AsyncHandler worker (pool-1-thread-1 number 16) is also blocked by put.
2023-09-27 22:08:04
Full thread dump OpenJDK 64-Bit Server VM (17.0.7+7-Ubuntu-0ubuntu118.04 mixed mode, sharing):
Threads class SMR info:
_java_thread_list=0x0000564b040111e0, length=14, elements={
0x0000564b033677e0, 0x0000564b03412c20, 0x0000564b03414550, 0x0000564b0341a290,
0x0000564b0341b910, 0x0000564b0341d130, 0x0000564b0341eef0, 0x0000564b03420830,
0x0000564b0347e4a0, 0x0000564b03556f20, 0x0000564b03559700, 0x0000564b035fa640,
0x0000564b04239f10, 0x0000564b05024db0
}
"main" #1 prio=5 os_prio=0 cpu=2134.93ms elapsed=36.55s tid=0x0000564b033677e0 nid=0xade waiting on condition [0x00007fbe685d3000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@17.0.7/Native Method)
- parking to wait for <0x00000000e06307c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(java.base@17.0.7/LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.7/AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.7/ForkJoinPool.java:3463)
at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.7/ForkJoinPool.java:3434)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.7/AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.ArrayBlockingQueue.put(java.base@17.0.7/ArrayBlockingQueue.java:370)
at org.jboss.logmanager.handlers.AsyncHandler.doPublish(AsyncHandler.java:155)
at org.jboss.logmanager.ExtHandler.publish(ExtHandler.java:77)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:333)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.Logger.logRaw(Logger.java:852)
at org.jboss.logmanager.Logger.logRaw(Logger.java:862)
at org.jboss.logmanager.Logger.log(Logger.java:395)
at org.jboss.modules.log.JDKModuleLogger.doLog(JDKModuleLogger.java:102)
at org.jboss.modules.log.JDKModuleLogger.moduleDefined(JDKModuleLogger.java:181)
at org.jboss.modules.ModuleLoader$3.run(ModuleLoader.java:736)
at org.jboss.modules.ModuleLoader$3.run(ModuleLoader.java:728)
at java.security.AccessController.executePrivileged(java.base@17.0.7/AccessController.java:807)
at java.security.AccessController.doPrivileged(java.base@17.0.7/AccessController.java:569)
at org.jboss.modules.ModuleLoader.defineModule(ModuleLoader.java:728)
at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:535)
at org.jboss.modules.DelegatingModuleLoader.preloadModule(DelegatingModuleLoader.java:57)
at org.jboss.modules.Module.addPaths(Module.java:1257)
at org.jboss.modules.Module.link(Module.java:1627)
at org.jboss.modules.Module.getPaths(Module.java:1588)
at org.jboss.modules.Module.getPathsUnchecked(Module.java:1611)
at org.jboss.modules.Module.loadModuleClass(Module.java:760)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:192)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at java.lang.ClassLoader.defineClass1(java.base@17.0.7/Native Method)
at java.lang.ClassLoader.defineClass(java.base@17.0.7/ClassLoader.java:1012)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:350)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:276)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:79)
at org.jboss.modules.Module.loadModuleClass(Module.java:765)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:192)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at java.lang.ClassLoader.defineClass1(java.base@17.0.7/Native Method)
at java.lang.ClassLoader.defineClass(java.base@17.0.7/ClassLoader.java:1012)
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:350)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:276)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:79)
at org.jboss.modules.Module.loadModuleClass(Module.java:765)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:192)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at org.jboss.as.jmx.PluggableMBeanServerBuilder.newMBeanServer(PluggableMBeanServerBuilder.java:49)
at javax.management.MBeanServerFactory.newMBeanServer(java.management@17.0.7/MBeanServerFactory.java:329)
- locked <0x00000000e1e0b580> (a org.jboss.as.jmx.PluggableMBeanServerBuilder)
at javax.management.MBeanServerFactory.createMBeanServer(java.management@17.0.7/MBeanServerFactory.java:231)
at javax.management.MBeanServerFactory.createMBeanServer(java.management@17.0.7/MBeanServerFactory.java:192)
at java.lang.management.ManagementFactory.getPlatformMBeanServer(java.management@17.0.7/ManagementFactory.java:484)
- locked <0x00000000e06ea1b0> (a java.lang.Class for java.lang.management.ManagementFactory)
at org.jboss.modules.Main.main(Main.java:545)
"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=1.73ms elapsed=36.52s tid=0x0000564b03412c20 nid=0xae5 waiting on condition [0x00007fbe4921b000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@17.0.7/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@17.0.7/Reference.java:253)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@17.0.7/Reference.java:215)
"Finalizer" #3 daemon prio=8 os_prio=0 cpu=1.26ms elapsed=36.52s tid=0x0000564b03414550 nid=0xae6 in Object.wait() [0x00007fbe4911a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@17.0.7/Native Method)
- waiting on <0x00000000e013bfe8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@17.0.7/ReferenceQueue.java:155)
- locked <0x00000000e013bfe8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@17.0.7/ReferenceQueue.java:176)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@17.0.7/Finalizer.java:172)
"Signal Dispatcher" #4 daemon prio=9 os_prio=0 cpu=1.17ms elapsed=36.51s tid=0x0000564b0341a290 nid=0xae7 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" #5 daemon prio=9 os_prio=0 cpu=1.18ms elapsed=36.51s tid=0x0000564b0341b910 nid=0xae8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Monitor Deflation Thread" #6 daemon prio=9 os_prio=0 cpu=3.57ms elapsed=36.51s tid=0x0000564b0341d130 nid=0xae9 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #7 daemon prio=9 os_prio=0 cpu=3316.31ms elapsed=36.51s tid=0x0000564b0341eef0 nid=0xaea waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C1 CompilerThread0" #10 daemon prio=9 os_prio=0 cpu=1703.23ms elapsed=36.51s tid=0x0000564b03420830 nid=0xaeb waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"Sweeper thread" #11 daemon prio=9 os_prio=0 cpu=0.68ms elapsed=36.51s tid=0x0000564b0347e4a0 nid=0xaec runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Common-Cleaner" #12 daemon prio=8 os_prio=0 cpu=1.25ms elapsed=36.46s tid=0x0000564b03556f20 nid=0xaed in Object.wait() [0x00007fbe4471a000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@17.0.7/Native Method)
- waiting on <0x00000000e013c1f8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@17.0.7/ReferenceQueue.java:155)
- locked <0x00000000e013c1f8> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@17.0.7/CleanerImpl.java:140)
at java.lang.Thread.run(java.base@17.0.7/Thread.java:833)
at jdk.internal.misc.InnocuousThread.run(java.base@17.0.7/InnocuousThread.java:162)
"Notification Thread" #13 daemon prio=9 os_prio=0 cpu=0.29ms elapsed=36.45s tid=0x0000564b03559700 nid=0xaee runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Reference Reaper" #14 daemon prio=5 os_prio=0 cpu=0.43ms elapsed=36.19s tid=0x0000564b035fa640 nid=0xaf0 in Object.wait() [0x00007fbe43de6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@17.0.7/Native Method)
- waiting on <0x00000000e013c3b0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@17.0.7/ReferenceQueue.java:155)
- locked <0x00000000e013c3b0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@17.0.7/ReferenceQueue.java:176)
at org.jboss.modules.ref.References$ReaperThread.run(References.java:64)
"pool-1-thread-1" #16 daemon prio=5 os_prio=0 cpu=2218.46ms elapsed=32.32s tid=0x0000564b04239f10 nid=0xaf2 waiting on condition [0x00007fbe43ce4000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@17.0.7/Native Method)
- parking to wait for <0x00000000e06307c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(java.base@17.0.7/LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.7/AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.7/ForkJoinPool.java:3463)
at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.7/ForkJoinPool.java:3434)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.7/AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.ArrayBlockingQueue.put(java.base@17.0.7/ArrayBlockingQueue.java:370)
at org.jboss.logmanager.handlers.AsyncHandler.doPublish(AsyncHandler.java:155)
at org.jboss.logmanager.ExtHandler.publish(ExtHandler.java:77)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:333)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager.Logger.logRaw(Logger.java:852)
at org.jboss.logmanager.Logger.logp(Logger.java:659)
at org.eclipse.angus.mail.util.MailLogger.log(MailLogger.java:218)
at org.eclipse.angus.mail.util.LogOutputStream.log(LogOutputStream.java:105)
at org.eclipse.angus.mail.util.LogOutputStream.logBuf(LogOutputStream.java:114)
at org.eclipse.angus.mail.util.LogOutputStream.write(LogOutputStream.java:78)
at org.eclipse.angus.mail.util.TraceOutputStream.write(TraceOutputStream.java:118)
at java.io.BufferedOutputStream.flushBuffer(java.base@17.0.7/BufferedOutputStream.java:81)
at java.io.BufferedOutputStream.write(java.base@17.0.7/BufferedOutputStream.java:95)
- locked <0x00000000e1e30d90> (a java.io.BufferedOutputStream)
at org.eclipse.angus.mail.util.CRLFOutputStream.write(CRLFOutputStream.java:47)
at org.eclipse.angus.mail.smtp.SMTPOutputStream.write(SMTPOutputStream.java:46)
at org.eclipse.angus.mail.util.QPEncoderStream.output(QPEncoderStream.java:188)
at org.eclipse.angus.mail.util.QPEncoderStream.write(QPEncoderStream.java:125)
at java.io.FilterOutputStream.write(java.base@17.0.7/FilterOutputStream.java:87)
at java.io.FilterOutputStream.write(java.base@17.0.7/FilterOutputStream.java:137)
at sun.nio.cs.StreamEncoder.writeBytes(java.base@17.0.7/StreamEncoder.java:234)
at sun.nio.cs.StreamEncoder.implWrite(java.base@17.0.7/StreamEncoder.java:304)
at sun.nio.cs.StreamEncoder.implWrite(java.base@17.0.7/StreamEncoder.java:282)
at sun.nio.cs.StreamEncoder.write(java.base@17.0.7/StreamEncoder.java:132)
- locked <0x00000000e1e32e98> (a java.io.OutputStreamWriter)
at sun.nio.cs.StreamEncoder.write(java.base@17.0.7/StreamEncoder.java:142)
at java.io.OutputStreamWriter.write(java.base@17.0.7/OutputStreamWriter.java:223)
at org.eclipse.angus.mail.handlers.text_plain.writeTo(text_plain.java:139)
at jakarta.activation.ObjectDataContentHandler.writeTo(DataHandler.java:866)
at jakarta.activation.DataHandler.writeTo(DataHandler.java:291)
at jakarta.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1683)
at jakarta.mail.internet.MimeMessage.writeTo(MimeMessage.java:1911)
at org.eclipse.angus.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1305)
- locked <0x00000000e1e330b8> (a org.eclipse.angus.mail.smtp.SMTPTransport)
at jakarta.mail.Transport.send0(Transport.java:233)
at jakarta.mail.Transport.send(Transport.java:102)
at org.eclipse.angus.mail.util.logging.MailHandler.send(MailHandler.java:2965)
at org.eclipse.angus.mail.util.logging.MailHandler.publish0(MailHandler.java:725)
at org.eclipse.angus.mail.util.logging.MailHandler.publish(MailHandler.java:678)
at org.jboss.logmanager.handlers.AsyncHandler$AsyncTask.run(AsyncHandler.java:206)
at java.lang.Thread.run(java.base@17.0.7/Thread.java:833)
"Attach Listener" #17 daemon prio=9 os_prio=0 cpu=0.73ms elapsed=0.11s tid=0x0000564b05024db0 nid=0xb2e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"VM Thread" os_prio=0 cpu=18.09ms elapsed=36.53s tid=0x0000564b0340e7b0 nid=0xae4 runnable
"GC Thread#0" os_prio=0 cpu=58.18ms elapsed=36.55s tid=0x0000564b033955b0 nid=0xadf runnable
"GC Thread#1" os_prio=0 cpu=108.51ms elapsed=31.18s tid=0x0000564b03e50760 nid=0xaf3 runnable
"GC Thread#2" os_prio=0 cpu=53.24ms elapsed=31.15s tid=0x0000564b03f0f730 nid=0xaf4 runnable
"GC Thread#3" os_prio=0 cpu=4.80ms elapsed=31.15s tid=0x0000564b03f10400 nid=0xaf5 runnable
"G1 Main Marker" os_prio=0 cpu=0.44ms elapsed=36.55s tid=0x0000564b0339ae80 nid=0xae0 runnable
"G1 Conc#0" os_prio=0 cpu=0.37ms elapsed=36.55s tid=0x0000564b0339c0b0 nid=0xae1 runnable
"G1 Refine#0" os_prio=0 cpu=0.34ms elapsed=36.54s tid=0x0000564b033ea0d0 nid=0xae2 runnable
"G1 Service" os_prio=0 cpu=16.73ms elapsed=36.54s tid=0x0000564b033eb290 nid=0xae3 runnable
"VM Periodic Task Thread" os_prio=0 cpu=46.99ms elapsed=36.45s tid=0x0000564b0355b310 nid=0xaef waiting on condition
JNI global refs: 17, weak refs: 0
RESOLUTION: Created RedHat issue https://issues.redhat.com/browse/LOGMGR-339
MessageFormat tokens are not allowed passed the field validations in the web UI.
Invalid format. Add new properties as key=value pairs, the special character allowed in the value are: - . : @ ; = ? ! # $ % & [ ] ( ) * _
This includes {}
, ,
, and |
in the example: These {3} messages occurred between {9,choice,86400000#{7,date} {7,time} and {8,time}|86400000<{7,date} and {8,date}}
This means that there is no way to set the CollectorFormatter pattern. One option would be to allow printf style formats but that will disable choice style formatting.
Manually editing the files seems to work.
Adding an attachment yields:
java.util.logging.ErrorManager: 1: SEVERE: Not provider of jakarta.mail.util.StreamProvider was found
java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider was found
at org.eclipse.angus.logging-mailhandler//jakarta.mail.util.FactoryFinder.find(FactoryFinder.java:61)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.util.StreamProvider.provider(StreamProvider.java:199)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.BodyPart.<init>(BodyPart.java:47)
at org.eclipse.angus.logging-mailhandler//jakarta.mail.internet.MimeBodyPart.<init>(MimeBodyPart.java:159)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.createBodyPart(MailHandler.java:3772)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords0(MailHandler.java:3118)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.writeLogRecords(MailHandler.java:3063)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish0(MailHandler.java:712)
at org.eclipse.angus.logging-mailhandler//org.eclipse.angus.mail.util.logging.MailHandler.publish(MailHandler.java:676)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:333)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:341)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.logRaw(Logger.java:852)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.logRaw(Logger.java:862)
at org.jboss.logmanager@2.1.19.Final//org.jboss.logmanager.Logger.log(Logger.java:395)
at org.jboss.modules.log.JDKModuleLogger.doLog(JDKModuleLogger.java:102)
at org.jboss.modules.log.JDKModuleLogger.greeting(JDKModuleLogger.java:175)
at org.jboss.modules.Module.setModuleLogger(Module.java:1148)
at org.jboss.modules.Main.main(Main.java:447)
RESOLUTION: modified the factory methods to set the CCL.
The AsyncHandler has auto-flush as always on which overrides the cool-down of the MailHandler push filter. There doesn't seem to be a way in the UI or the JBoss-CLI to turn auto-flush off. Might work to manually edit the logging.properties but there is no way to manually edit the standalone.xml to add such a property.
WildFly web UI validation doesn't allow for setting mail.smtp.auth.mechanisms=LOGIN PLAIN DIGEST-MD5 NTLM
due to space not being allowed.
sometimes using "
helps to bypass validation (mail.smtp.auth.mechanisms="LOGIN PLAIN DIGEST-MD5 NTLM"
) - not sure that is the case here
@lukasj Thanks for the tip. It looks like that is rejected too:
The error message is:
Invalid format. Add new properties as key=value pairs, the special character allowed in the value are: - . : @ ; = ? ! # $ % & [ ] ( ) * _
It is not a blocker for this ticket. I've been working around the web UI validation by entering underscore instead of spaces and then just edit the backing logging.properties and standalone.xml to convert them back to spaces. I'll file a RFE against WildFly to consider allowing more characters.
On the MailHandler side I'll consider adding a support for a transformer function on the setMailEntries but it will be a future project.
RESOLUTION: Use the jbosscli instead of the Web UI. See: https://issues.redhat.com/browse/WFLY-18724
Committed as: https://github.com/eclipse-ee4j/angus-mail/commit/76fde654a8de98df813ad53396d90c37f0c50977
Final approach was to:
The MailHandler only supports setting mail properties through a properties object. Per the WildFly docs: All properties must be accessible via a setter method.
See also:
In order to support WildFly, one option would be to add a new public method that takes a string that is the path to a resource which then loads the properties file. Just need to verify that WildFly allows this. This would be the preferred option as it would be useful for loading the logging.properties as mail properties when using the standard LogManager.
Another option would be to create a new method which takes a string that can be parsed as the contents of properties file. Splitting string key/value pairs where semicolon is used to delimit the entries would be one option assuming that is not used in any other property values. Need to look at:
Final option to consider would be adding property setters for Jakarta Mail API properties and Angus SMTP provider properties.
Things to consider before implementing this change are:
List of properties from API (draft):
List of properties from Angus (draft):
List of properties from MailHandler (draft)