Hi all,
We are moving towards hot deployment for our server. For the purpose, we are thinking of having:
- Two instances of JBOSS running at 8080 and 9080. Both in standalone mode.
- Load balanced (with fail over) using nginx.
We are currently facing two problems:
1. We don't want to start deployment until the server instance has no active sessions. We tried to check for number of active sessions associated with a server, but couldn't find a simple commandline method.
Is there any method we can find the number of active sessions, preferrably in jboss-cli?
2. When we undeploy any war file from a server, instead of 502 we are getting 404 error. Is this the expected behaviour?
The overall aim is as follows (hot deployment):
- Wait for active connections to a server to finish.
- Undeploy the war files, let nginx redirect the requests to other server in the mean time.
- Update the war files and start deployment.
Below is the nginx configuration for load balancing:
upstream backend {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:9080;
}
location / {
root /home/prancer/dev/LandingPage/;
index index.html index.htm;
add_header 'Access-Control-Allow-Origin' '*';
try_files $uri $uri/index.html @api;
}
location @api {
# Pass to JBOSS Application Server
proxy_pass http://backend;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream error timeout invalid_header http_404;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 700;
}