We are using Apache Tomcat 8.0.18 as our web server.We are getting expected output when the client is sending about 5 to 8 concurrent requests.
But when the client is sending about 30 to 40 concurrent request , client is getting some unexpected error related to some packet loss while the request reaching the web server hosted in tomcat through Internet.
We are not facing the issue while we testing the application in our local environment.
We have examined the web server logs and we are seeing only part of the requests are reaching the web servers. We have installed the Tomcat 8.0.18 with default configuration.
Can any one please guide us whether we need to change any configuration in Tomcat level to resolve this kind of packet loss issue?
Thanks
Dinesh
I suggest that you should install a packet sniffer on the host where Tomcat is installed. Maybe the problem doesn't come from tomcat.
Related
I have a react, Java API application on Apache Tomcat 9 server on same server. I want to separate React.JS UI into one server and Java API onto second server. Server OS is Ubuntu 20.
I am facing below challenges, need your help to complete POC project:
How to develop and build and deploy React.JS, NODE.JS app on first server to point to Java API, Apache Tomcat 9 on second server.
Please suggest how to resolve these issues or any article’s to read to resolve the issue.
So you'll have two servers:
first, with FrontEnd, handled by NodeJS (or even Nginx, why not?)
second, with BackEnd, handled by Tomcat
Your FE should have a configuration with host of BE. Such a configuration is usually made with environment variables. That will cause a request coming from user's browser to NodeJS, then using environment variable the request will be passed through NodeJS to BE.
Another option, FE may go to BE directly, but that will cause FE and BE worknig on different hosts, so that you'll have to configure CORS on your BE.
In the client environment tomcat is running as a service with logon account as Local System Account. I have deployed a java based REST API client application in that tomcat. Every time the client is running its not able to set up connection with the destination.
In the client environment tomcat is running as a service with logon account as Local System Account. I have deployed a java based REST API client application in that tomcat. Every time the client is running its not able to set up connection with the destination.
There is absolutely no issue with the destination endpoint and the java code, as in other environments, that client is running fine in the tomcat.
Error that we are seeing is -- ConnectionTimeOut.
Account that the tomcat is running under in the client environment is -- Local System Account.
This is a huge road blocker and if anybody can provide guidance will be extremely helpful.
Error that we are seeing is -- ConnectionTimeOut.
Definitely it might be firewall issue. Your client is not able to connect to server, where your service is running. You need to ping from client machine to server where service is running. That will tells you whether Connectivity established or not.
Noob question but I'm not sure where to look:
I'm running a Java Web App on a remote linux machine (Jersey RESTful API is the goal). The server successfully runs and can handle requests locally to localhost:8080/foobar but I cannot make requests to the various urls from anywhere else (For example, my laptop through a browser).
This is a simple problem I've have many times but have no idea what terms to search on google or where to look for help debugging the problem, so any leads or advice would be greatly appreciated.
Further details:
Project is code added to a Maven2 generated archetype of a Jersey Service
This is most likely caused by firewalling on the server or in front of the internal network your server is running on. Talk to your network administrators about opening a hole for port 8080, or consider using a reverse proxy on port 80 (if open) to forward requests to port 8080. See http://en.wikipedia.org/wiki/Reverse_proxy if you are not familiar with the idea of a reverse proxy or load balancers.
Change the localhost entry in your "/etc/hosts" file, with the network configs, and if server is tomcat, edit the $CATALINA_HOME/conf/server.xml to add IP the relevant <Connector> element.
Make sure you have better idea handling /etc/hosts
I have a small web application where I am using Spring, Hibernate and JSF2.0.
I am deploying my application to Weblogic 10.3.6 which in integrated with Eclipse server. When I publish application to server, it gets published(deployed) however it takes quite some time to get published when compared to Glassfish.
The problem I am having is when I try to run application from browser I am getting the following error in browser, though I do not see any errors or exception in logs. How can I resolve this issue? And why it is taking so much to gets deployed to server?
Error 503--Service Unavailable
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.4 503 Service Unavailable
The server is currently unable to handle the request due to a temporary
overloading or maintenance of the server. The implication is that this
is a temporary condition which will be alleviated after some delay. If known,
the length of the delay may be indicated in a Retry-After header.
If no Retry-After is given, the client SHOULD handle the response as it would
for a 500 response.
Note: The existence of the 503 status code does not imply that a server
must use it when becoming overloaded. Some servers may wish to simply
refuse the connection.
Make sure your deployment is in active state.After deployment your deployed file state is prepared.To change it to active mode follow the below steps:
Click Deployment tab in left side console and go to summary of Deployment.
Now you will able to see the status of your Deployment which will be prepared now.
Click on control tab above.
Select your war file and check start option.
Then select for all services.
It will change state to active mode.
;)
Go to the admin console,
Check the status of your server,
Check the status of the application itself that you were trying to deploy. Make sure its started and ready to take requests.
Regarding why its taking long to deploy, I think its down to using Eclipse itself IMO.
When redeploying app's if you deploy some of the files as libraries then the deployment will be much more fasted. If you are trying to include all the libraries in your EAR file itself then the server will take longer.
We are calling a web service (jaxws) running on JBoss 4 from one of our .NET, C#, web services clients. It is working just fine on our local network, but as soon as we connect to our VPN to test on the production environment it throws a 505 error (HTTP version not supported). On both our local and production machines, we have tested the services from a Java client while still connecting to VPN and it's working fine for the java client
Any hint regarding this issue?
I would guess that your production web server is not configured the same as your test web server; it is more restrictive and not allowing the HTTP version that you want. Ask the server admin for your production server what versions of HTTP are supported.
Another possibility is that on the VPN you have an intermediate proxy that is converting your request from one version of HTTP to another. Ask a network admin for help.