HI Ralf, unfortunately I don’t think I or anyone else can remove your signature, but things happen and you probably have to live with people now contacting you in private 😉
Thanks a lot for your detailed explanation which was very interesting to read. I have also been developing Webapps for about 22 year now. I have started out with JSP for which I first built my own extensions before I switched to Struts2 in 2007. Struts2 and JSP worked OK at the time with the advantage of very good compile time safety. But they lacked proper Ajax capabilities and soon reached a limit. At the time I was also considering Apache Wicket although in the end I never found the time to give it a proper try. Instead I got on the JavaServerFaces train with JSF 2.0 just released (fixing all the flaws of 1.x). I had to trade CompileTimeSafety for lot more UI-flexibility due to a great supply of Ajax components. On my first projects I used the IceFaces component framework but later switched to Primefaces which I have been using ever since. With our Empire-db JSF extensions all the model metadata is automatically used for component setup so I have almost no redundancies. That works really great. In a couple of projects I was forced to using JPA and Hibernate and that was pure hell. To get the things I wanted I had to invent my own annotations and query builder extensions to get it do to the queries I wanted and still wasn’t able to do them all. So I spent most of my times finding workarounds for the limitations of the persistence framework. Another thing I really hated was debugging with all the Bytecode Proxies that Hibernate generates. How can anyone work like that? My applications run on Websphere Liberty and Tomcat. I never had any issues with Tomcat however. The only reason I know when Tomcat “hangs” is when you don’t have your ConnectionPool set up correctly and you run out of connections. (you need to set the DataSource factory to factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" otherwise you only have 10 connections and Tomcat hangs afterwards) Maybe the difference between us is that I am doing fewer Big-Projects so I don’t have the ramping up problem that much. Personally I prefer to keep my technology stack as slim as possible. Anyway I appreciate your donation as I believe that there are many ways to get to Rome and I hope that it will help others to getting started when looking at our project. Surely people who are already using Spring-boot will find your example a lot more appealing than mine. Rainer from: Ralf Eichinger <[email protected]> to: [email protected] re: Re: Question about Spring-boot Hi Rainer, it is always difficult to explain why one is convinced of something... :-) For me it is always important to improve way of doing things and so I went a long way in the last 25 years of webdevelopment... from cgi-bin/perl to java with servlets and system.out.println HTML over all java web frameworks to a long period of using Apache Webserver and Apache Wicket and Apache Tomcat with WAR deployment. There was a time when Spring MVC still was working with JSPs, what I refused to use since I has experienced Struts monster components and the cleaner way of Apache Wicket. When Spring MVC switched over to Thymeleaf (developed of a former Wicket fan) I gave it a try a never looked back, because Spring MVC made it easier to not only develop webapps (what wicket focussed on), but also on the same level supporting REST-API-Endpoints. I still packaged it into WAR files and using Tomcat. Tomcat was mature stuff, but - a webapp needed first installation (and maintenance) of a tomcat server - tomcat sometime hung up ("zombied"), so we always added a cronjob restarting tomcat every night (these was more than 6 years ago) - deployment to that time was mostly manual copying and restarting So we gave Spring Boot a try, that provides an embedded tomcat. Long story short: we never looked back, now running more than 50 webapps, services and workflow jobs since years based on spring boot. One of the big advantages is: Spring is developed by people that know what is needed in practical day to day work (seems so). It always introduces things making your job easier and remove boring boilerplate coding work. To make a decision depends on: - If you think that in a project a lot of development effort and time should go into ramping up a skeleton or environment before starting to code the functionality asked for, then Spring Boot is not a good choice - If you do not like to spend time in every project to develop a configuration file reading "framework" or logging logic or environment detection (local/dev/staging/prod) or unit testing environments or monitoring endpoints for dashboards, then spring boot is the right stuff. you get a lot (only if you want and add maven dependencies, you are still free in choosing how far you will go) out of the box if you want have an easy introduction: I wrote some blueprint documentation here https://github.com/dbmdz/blueprints especially spring boot https://github.com/dbmdz/blueprints/tree/main/webapp-springboot-thymeleaf So, how does it fit with empire-db? As Spring Boot is totally open to any persistence framework, it is no problem to go ahead with empire-db (some documentation on jdbc stuff: https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#jdbc) The only benefits I used from Spring Boot is the automatically creation of a JDBC Datasource provided by using application.yml config with spring defined config properties: spring.datasource.utl and password and username see documentation https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data.spring.datasource.url So the example code of spring boot empire-db is a shorter and focusses on the test itself. and spring boot stepped never in my way of using empire-db. Am Fr., 4. März 2022 um 21:14 Uhr schrieb Rainer Döbele <[email protected]<mailto:[email protected]>>: Hello Ralf, first I want to thank you for your code donation. As an Open Source project we depend on people who are willing to contribute and give something back. Since I had some access problems with Github, Jan was so kind to get the pull request and merge it. Then I just made a view adjustments and I also had a quick look at it. To be frank, I have no clue, what Spring-Boot is all about. So I asked Mr. Google and quickly this is what I found: Spring-Boot AutoConfiguration - Too much magic? : java (reddit.com)<https://www.reddit.com/r/java/comments/6byre7/springboot_autoconfiguration_too_much_magic/> Plus this video: https://www.youtube.com/watch?v=Sw7I70vjN0E Now I am just curious why you are using Spring-Boot, and why you think it would be a good fit for Empire-db. As I am quite willing to understand and learn 😉 Best regards, Rainer
