Updating war file
Heroku supports the deployment of WAR files via Git deployment (which packages the WAR file remotely) and via the Heroku Maven plugin (which packages the WAR file locally).The default server for both methods is Tomcat 8, but the platform provides the flexibility to substitute any bootable or embeddable servlet container, such as Jetty.Make sure you are aware of any requirements before you start, because missing data can cause the Gluu Server to malfunction.In the following example, we assume the service is ox Trust (which uses the warfile "identity.war"). Spring Application Builder; import org.web.support. Spring Boot Servlet Initializer; @Spring Boot Application public class Spring Boot Web Application extends Spring Boot Servlet Initializer # Get Tomcat 8.5.9 spring-boot-project$ curl -O % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 9112k 100 9112k 0 0 799k 0 --:--:-- 1348k # Extract it $ tar -xvzf apache-tomcat-8.5.9gz # Maven clean and package everything into a WAR file. Sometimes I have small changes that need to be made and I would like to be able to send to the customer only the parts of the application that need to be updated, instead of sending the entire war file for every update.Assuming my war file gets to 100 mb, do I really have to send the whole war file every time?How to the major companies handle this problem with their large applications? What if they do something wrong so that your software doesn't work anymore?
So far I haven't found a solution that works other than repackaging/redistributing the entire war.
The OSGi Service Platform provides the functions to change the composition dynamically on the device of a variety of networks, without requiring restarts. It also sounds a bit like the dependency injection feature of Spring (which I am currently using).
Also, I know that my war file is smallish at the moment (20 mb), but I'm planning on adding lots of new features over the next year or two.
Do you really want to let your customers update the WAR file themselves? If there are resources that they have to be able to change themselves, then you could store them somewhere else, not inside the WAR file.
Then they'd just have to put the right files in a directory somewhere and your webapp will pick them up from there.