Hi there, we're trying to migrate to Smartclient 14.1 and are experiencing issues with the Isomorphic Servlets, including the FileAssembly servlet (stacktrace below) and CSS files served from the Iso servlet as well are having stream issues with WildFly 32's Jakarta EE implementation.
Any suggestions on next steps for debugging this?
Here is the method call we are using to instantiate the FileAssembly handling:
Strack trace:
2025-07-12 15:10:33,731 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,731 [k-30] INFO FileAssembler - read config file: C:/programs/deploy/dev.war/isomorphicConfig/fileAssembly.xml
2025-07-12 15:10:33,731 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,731 [k-30] INFO FileAssembler - Processing dynamically assembled file /js/at_js_static.js
2025-07-12 15:10:33,735 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,735 [k-30] INFO Download - Using gzipped form of request file:
C:/programs/deploy/dev.war/isomorphicCache/js/at_js_static.js
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,736 [k-30] ERROR Download - Problem sending static file: C:/programs/deploy/dev.war/isomorphicCache/js/at_js_static.js java.io.IOException: UT010029: Stream is closed
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...treamImpl.java:139)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.write(OnCommittedResponseWrapper.java:639)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:155)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:111)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:93)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.ServletTools.sendStaticFile(ServletTools.java:2071)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.ServletTools.sendStaticFile(ServletTools.java:1525)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.FileAssembly.doGet(FileAssembly.java:113)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at jakarta.servlet.api@6.0.0//jakarta.s...tpServlet.java:527)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:178)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at jakarta.servlet.api@6.0.0//jakarta.s...tpServlet.java:614)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...etHandler.java:74)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...erHandler.java:129)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...gedFilter.java:67)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...erHandler.java:131)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
Any suggestions on next steps for debugging this?
Here is the method call we are using to instantiate the FileAssembly handling:
Code:
private void addIsomorphicServlet6(ServletContext container, AnnotationConfigWebApplicationContext ctx) { ServletRegistration.Dynamic dispatcher = container.addServlet("FileAssembly", new FileAssembly()); Set<String> mappingConflicts = dispatcher.addMapping("/js/at_js_static.js"); mappingConflicts.addAll(dispatcher.addMapping("/js/at_js_public_static.js")); mappingConflicts.addAll(dispatcher.addMapping("/js/at_js_static_V2.js")); mappingConflicts.addAll(dispatcher.addMapping("/js/jav8/at_jav8_assembled.js")); mappingConflicts.addAll(dispatcher.addMapping("/js/charts.js")); mappingConflicts.addAll(dispatcher.addMapping("/js/at_js_public_holdings_static.js")); mappingConflicts.addAll(dispatcher.addMapping("/js/at_js_report_static.js")); if (!mappingConflicts.isEmpty()) { for (String s : mappingConflicts) { logger.error("Mapping conflict: " + s); } } }
2025-07-12 15:10:33,731 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,731 [k-30] INFO FileAssembler - read config file: C:/programs/deploy/dev.war/isomorphicConfig/fileAssembly.xml
2025-07-12 15:10:33,731 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,731 [k-30] INFO FileAssembler - Processing dynamically assembled file /js/at_js_static.js
2025-07-12 15:10:33,735 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,735 [k-30] INFO Download - Using gzipped form of request file:
C:/programs/deploy/dev.war/isomorphicCache/js/at_js_static.js
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) === 2025-07-12 15:10:33,736 [k-30] ERROR Download - Problem sending static file: C:/programs/deploy/dev.war/isomorphicCache/js/at_js_static.js java.io.IOException: UT010029: Stream is closed
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...treamImpl.java:139)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.write(OnCommittedResponseWrapper.java:639)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:155)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:111)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.util.IOUtil.copyStreams(IOUtil.java:93)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.ServletTools.sendStaticFile(ServletTools.java:2071)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.ServletTools.sendStaticFile(ServletTools.java:1525)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.FileAssembly.doGet(FileAssembly.java:113)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at jakarta.servlet.api@6.0.0//jakarta.s...tpServlet.java:527)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:178)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at jakarta.servlet.api@6.0.0//jakarta.s...tpServlet.java:614)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...etHandler.java:74)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...erHandler.java:129)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...gedFilter.java:67)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at io.undertow.servlet@2.3.13.Final//io...erHandler.java:131)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186)
2025-07-12 15:10:33,736 INFO [stdout] (default task-30) at deployment.dev.war//org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
Comment