@Configuration
public class UndertowEmbeddedAjpConfiguration {
public UndertowEmbeddedAjpConfiguration() { }
@Bean
public UndertowServletWebServerFactory undertowServletWebServerFactory() {
final UndertowServletWebServerFactory undertow = new UndertowServletWebServerFactory();
undertow.addBuilderCustomizers((UndertowBuilderCustomizer) builder -> {
builder.addAjpListener(8009, "localhost");
return undertow;
I know AJP is out of fashion, unfortunately this is a requirement for us as we are forced to use Shibboleth SSO for all our applications, which requires AJP...
I can provide a ready to use Docker version if necessary.
EDIT 3
The problem finally went away after I upgraded some dependencies. Unfortunately, I didn't notice which ones since I realized several weeks later after multiple deployments...
–
–
–
–
That's going to be tough to untangle but I'll try.
The extra folder configured by "org.zkoss.web.util.resource.dir" has never been necessary. And is really just useful for patches, as you can only configure one of these.
The old/original place to put resources is into the package folder src/main/resources/web (or as you probably using a non default src/resources/web) - Thats what you'll see when looking into any of the ZK jars ... this mechanism has always been available to anyone.
So there's nothing new in a Spring Boot application the difference is that the WEB-INF folder is not available when building a spring boot application as a jar-file.
I assume it's just a typo in your config:
1 - plugins (wordcount and notification folders) put in src/resources/web/zul/js/ckez/ext/CKeditor/plugins
ckeditor will search for the plugins in the classpath folder web/js/ckez/ext/CKeditor/plugins no zul in between just follow the same structure as in the ckez.jar
That should fix the error /js/ckez/ext/CKeditor/plugins/wordcount/plugin.js not found.
Maybe that's already all you need.
For additional trouble shooting I'd suggest to look into the Browsers developer tools - Network tab. This will give you better (than just the page source) information about which path is used to load files, and how the server responds.
–
I based my test on the zkspringboot-demo-jar example
Another Hint: I released zkspringboot-starter 1.0.4 just 5 days ago, it uses spring boot 2.1.0.
In any case the -starter is meant to get started quickly, it doesn't mean you're stuck with it. The zkspringboot-autoconfig dependency enables you to use your own springboot-starter-web parent version (or dependency) and just add the ZK specific config on top - it's all maven after all with all it's flexibility (and pain). It's mostly orthogonal to springboot. It's more like running the same ZK application on tomcat 7/8/8.5 or 9 or jetty - the container may change, still the configuration be it a web.xml or a spring java config remains the same.
–
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.