メンチカツには醤油でしょ!!

ITエンジニア徒然 (AWS/Java/JavaScript/Google Spreadsheets/Jenkins/Mac/外部コミュニティ・勉強会レポ)

大きなファイルサイズのアップロード時にRequest exceeded size limit! FileUploadBase$SizeLimitExceededException the request was rejected because its size exceeds the configured maximum

タイトル長くてスミマセン。

環境

Wildfly 10.1.0.Final
Struts 2.3.34

最初に解決方法を書いておきます

Wildfly設定 (standalone.xml)

<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" />

<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" max-post-size="1073741824" />

struts.xml

<struts>
<!-- 略 -->
<constant name="struts.multipart.maxSize" value="10485760" /><!-- 10MB -->
<constant name="struts.multipart.parser" value="jakarta-stream" />
<!-- 略 -->
</struts>

※ InterceptorStackにdefaultStackが入っているか、もしくはfileUploadが含まれていること。

messages.properties

struts.message.upload.error.FileSizeLimitExceededException=ファイルサイズが大きすぎます。

説明

Wildflyは大きなサイズのリクエストを受けるとコネクションをターミネートするようになっています。この場合
java.io.IOException: UT000020: Connection terminated as request was larger than 1073741824
がスタックに出力されると思います。(1073741824は設定されている最大サイズ)
Chromeでは ERR_CONNECTION_RESET が表示されているのが確認できます。
まずこの設定されているサイズを大きくするのが、Wildflyの設定(standalone.xml)です。

一方Struts2では、サイズのチェックを行い、サイズオーバーであればエラーとするような設定をstruts.xmlに行います。
struts.multipart.maxSize にサイズを設定します。
10MBであれば、10 * 1024 * 1024 = 10485760 [byte]といった計算をして設定します。

この場合に発生するExceptionは、InterceptorStackのExceptionではハンドリングできないので、エラーメッセージはmessage.propertiesに、struts.message.upload.error.FileSizeLimitExceededException をキーにエラーメッセージを設定します。

スタック

検索用も兼ねて。こんなスタックが出ます。
リクエストサイズが大きすぎる場合にWildflyから出力されるスタック。

HH:mm:SS,SSS ERROR [stderr] (default task-10) java.io.IOException: UT000020: Connection terminated as request was larger than 1073741824
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize(FixedLengthStreamSourceConduit.java:168)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:229)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2265)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.xnio.channels.Channels.readBlocking(Channels.java:294)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:168)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:144)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:999)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:903)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at java.io.InputStream.read(InputStream.java:101)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:100)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:593)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:617)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:634)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1023)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:1003)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.commons.fileupload.servlet.ServletFileUpload.getItemIterator(ServletFileUpload.java:154)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest.processUpload(JakartaStreamMultiPartRequest.java:287)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest.parse(JakartaStreamMultiPartRequest.java:248)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper.<init>(MultiPartRequestWrapper.java:84)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:849)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.ng.PrepareOperations.wrapRequest(PrepareOperations.java:138)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
HH:mm:SS,SSS ERROR [stderr] (default task-10) 	at java.lang.Thread.run(Thread.java:748)
HH:mm:SS,SSS ERROR [stderr] (default task-11) java.io.IOException: UT000020: Connection terminated as request was larger than 1073741824
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize(FixedLengthStreamSourceConduit.java:168)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:229)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2265)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.xnio.channels.Channels.readBlocking(Channels.java:294)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:168)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:144)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:999)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:903)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at java.io.InputStream.read(InputStream.java:101)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:100)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:593)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:617)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:634)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1023)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:1003)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.commons.fileupload.servlet.ServletFileUpload.getItemIterator(ServletFileUpload.java:154)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest.processUpload(JakartaStreamMultiPartRequest.java:287)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest.parse(JakartaStreamMultiPartRequest.java:248)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper.<init>(MultiPartRequestWrapper.java:84)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:849)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.ng.PrepareOperations.wrapRequest(PrepareOperations.java:138)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
HH:mm:SS,SSS ERROR [stderr] (default task-11) 	at java.lang.Thread.run(Thread.java:748)

こちらはStruts2から出力されるサイズオーバーのスタックです。

HH:mm:SS,SSS INFO  [stdout] (default task-8) YYYY/MM/DD HH:mm:SS:SSS WARN  Request exceeded size limit!
HH:mm:SS,SSS INFO  [stdout] (default task-8) org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (13144152) exceeds the configured maximum (10485760)
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:968) ~[commons-fileupload-1.3.2.jar:1.3.2]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310) ~[commons-fileupload-1.3.2.jar:1.3.2]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:334) ~[commons-fileupload-1.3.2.jar:1.3.2]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.parseRequest(JakartaMultiPartRequest.java:192) ~[struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.processUpload(JakartaMultiPartRequest.java:131) ~[struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.parse(JakartaMultiPartRequest.java:92) ~[struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper.<init>(MultiPartRequestWrapper.java:84) [struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:849) [struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.ng.PrepareOperations.wrapRequest(PrepareOperations.java:138) [struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) [struts2-core-2.3.32.jar:2.3.32]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) [wildfly-undertow-10.1.0.Final.jar!/:10.1.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) [wildfly-undertow-10.1.0.Final.jar!/:10.1.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) [undertow-servlet-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805) [undertow-core-1.4.0.Final.jar!/:1.4.0.Final]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_144]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_144]
HH:mm:SS,SSS INFO  [stdout] (default task-8) 	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_144]

雑感

結局Wildflyで指定しているサイズをオーバーした時はブラウザは
ERR_CONNECTION_RESET になるので、なんだか解決されていない感。

参考

stackoverflow.com

stackoverflow.com

https://teratail.com/questions/67329

Undertow subsystem configuration - WildFly 10 - Project Documentation Editor

Hyper-Vを有効にする時のBIOSの設定 (HP EliteBook Folio 9470m)

古い下書きからの投稿です

概要

Hyper-Vを有効にして仮想環境などを構築しようとした場合、コントロールパネルからWindowsの機能でHyper-Vをインストールしますが、
Hyper-Vをインストールできません: ファームウェアで、仮想化サポートが無効になっています。

と出た際の、有効化の手順のメモです。

コントロールパネルからWindowsの機能を検索

f:id:ryoichi0102:20171017114158j:plain

Hyper-Vをインストールできません、と表示..

この後、マシンをシャットダウンしてBIOSに入ります。

f:id:ryoichi0102:20171017114209j:plain

BIOSを立ち上げます

電源を入れてF10を押下してメニューを表示させます。
メニューからF10キーを押下して、BIOS Setupを呼び出します。

f:id:ryoichi0102:20171017114228j:plain

Virtualization Technology (VTx)の有効化

System Configuration内のVirtualization Technology (VTx)をチェックします。
保存してBIOSメニューを終了させます。

f:id:ryoichi0102:20171017114240j:plain

再度、コントロールパネルからHyper-Vを有効にします

f:id:ryoichi0102:20171017114251j:plain

再起動して完了です

f:id:ryoichi0102:20171017114302j:plain

参考

Notebook PC シリーズ - BIOS で [Virtualization Technology] を有効にするには

GitHubのメールアドレスが漏れる?コミット時のメールアドレスにnoreplyを設定

経緯

釣りなタイトルでスミマセンm(_ _)m
前回、npmアカウントのプロフィールに指定するメールアドレスが全世界公開設定であり、その公開範囲が変更できないことを取り上げました。

その際、GitHubではnoreplyを設定することを推奨している。
と書かれており「あれ?これはもしや…」と思って試したらこれがビンゴで
他人のメールアドレスが引っこ抜けることが判ってしまいました。

GitHubで使用しているメールアドレスも第三者に知れ渡っている?

ひょっとしてGitHubのメールアドレスも第三者に知れ渡ってるのではなかろうか、と思い、調べてみました。

厳密には、アカウント登録時のメールアドレスではなく、コミット時に設定しているメールアドレスが取得できてしまいます。

実際に引っこ抜いてみた

f:id:ryoichi0102:20171011090029p:plain

ご覧の通り、git cloneしてgit logするとメールアドレスが見えてしまいます。
(今回はGitHub上でメールアドレスを公開されている且つ有名な方のリポジトリを使用させて頂きました)

何故こういう事が起こりがちなのか?

GitHubではコミット時に使用するユーザー名とメールアドレスを設定できます。これを正しく設定しておくと、コミットログ一覧を表示した際にリンクされたりなどするため、Gitクライアントで設定する際に何気なくGitHubに登録しているメールアドレスを設定しがちです。

f:id:ryoichi0102:20171011234236p:plain

ではどうすればよいのか

メールアドレスを非公開にするにはGitHubで提供している noreply のメールアドレスを使用します。Web上で編集する場合にはアカウント設定にてKeep my email address privateを選択し、Gitクライアントなどから使用する場合にはコミットのメールアドレスにnoreplyのメールアドレスを設定します。

また、誤ってprivateのメールアドレスを使用してpushしないような設定もあります。

Blocking command line pushes that expose your personal email address - User Documentation
https://help.github.com/articles/blocking-command-line-pushes-that-expose-your-personal-email-address/

noreplyのアドレスはアカウント登録時期によって違う

Note: If you created your GitHub account after July 18, 2017, your GitHub-provided no-reply email address is a seven-digit ID number and your username in the form of ID+username@users.noreply.github.com. If you created your GitHub account prior to July 18, 2017, your GitHub-provided no-reply email address is your username in the form of username@users.noreply.github.com. You can get an ID-based GitHub-provided no-reply email address by selecting (or deselecting and reselecting) Keep my email address private in your email settings.

つまり、GitHubでnoreplyとして認識されるメールアドレスは、
・2017/06/18より後にアカウントを作成した場合は "7桁のID+ユーザー名"
・2017/06/18より前にアカウントを作成した場合は "ユーザー名"
これに @users.noreply.github.com を付けたものになります。

prior toは○○より後に、afterは○○より前に、なので 2017/06/18 ちょうどにアカウント登録した方は…どちらなんでしょうかw (これは一旦置いときます)

2017/06/18より後にアカウントを作成した場合のnoreplyメールアドレスの確認方法

【ID】+【ユーザー名】@users.noreply.github.com

これがGitHub内でサポートされるnoreplyのメールアドレスの形式になります。
【ID】部分は画面右上のアイコンメニュー⇒Settings⇒サイドメニューのEmails、ここで確認できます。

f:id:ryoichi0102:20171011182606p:plain

2017/06/18より前にアカウントを作成した場合のnoreplyメールアドレス

【ユーザー名】@users.noreply.github.com

簡単ですね。

Keep my email address private のチェックボックスをオンにしましょう。

We'll remove your public profile email and use 32690516+ryoichi0102@users.noreply.github.com when performing web-based Git operations and sending email on your behalf. If you want command line Git operations to use your private email you must set your email in Git.

とある通り、Web上で編集した場合は自動的に表示されているnoreplyのメールアドレスになりますが、Gitクライアントを使用してcommit/pushする場合は、Gitクライアントにこの設定をして下さい、とあります。

※ 上記 32690516 部分は各自違います。

noreplyアドレスの設定方法

noreplyなメールアドレスが解ったので、次は設定です。
これはCLIを使用した一般的なGitの設定と同じです。
既に設定されている場合は、二重でaddしなように注意しましょう。(上書きはされないので)

グローバルの設定であれば

git config --global --list

で設定一覧を確認して、設定が存在した場合は、

git config --global --unset user.email

で一旦削除した後に、noreplyのメールアドレスを設定します。

git config --global --add user.email my-github-user-name@users.noreply.github.com
または
git config --global --add user.email 32690516+ryoichi0102@users.noreply.github.com

です。

f:id:ryoichi0102:20171011235803p:plain

f:id:ryoichi0102:20171011235643p:plain

これで安心ですね!

参考

About commit email addresses - User Documentation
https://help.github.com/articles/about-commit-email-addresses/

github.com