Struts action halts for first form submission - struts2

Whenever i restart my tomcat and submit my form it executes properly, but when i do same thing simultaneously with 2 browsers, my application halts until my first request is completed its execution.
I am confused is this tomcat issue or struts?
Thanks for any help.

Related

Laravel 5.4 POST method stop working when cloning site to development server

For the first time since using Laravel I'm facing up a really strange situation:
I've made a website using Laravel 5.4 and everything is working fine with it for a couple of years.
Now I need to add some features, and, by the way, make an upgrade to 5.5LTS version. So I've cloned this website to a linode instance that I use as testing server, and suddenly every form that has a POST method stop working. It means login form, contact form, add to cart, order form, etc. Ajax get requests are working fine.
Linode is runing PHP 7.2.9 while production server is running PHP 7.0
I had try cloning to a similar configuration than production server using PHP 7.0 and I got just the same fails
Exactly the same is happening on my local machine using valet 2.1.1 with PHP 7.2.6
To check where the problem is, I have added some breakpoints in controllers but none of them are even reached, it seems that when click on submit button the form in question makes a request but immediately resets to empty again. So no POST route is firing its controller method.
Testing server is http://630d6253.ngrok.io

Struts action not triggering

I was working/using in the application for long time and today when i tried to fix some issues struts 2 action is not responding. I have faced the same issue in some other application, long time back and did some setup in Eclipse / Tomcat which allocation struts 2 action to get triggered. I could see the queries running in the backend after login, for the first landing page.
Tolls / Technology stack that i am using,
Struts 2.0, Display Tag, Eclipse, Tomcat
Any guess what could be that configuration? It may be filter / proxy / Something else. I couldnt recall that.

Why does it take 15 seconds to render a MVC view when debugger is attached?

I have a MVC solution running MVC 2.0 and Visual Studio 2010.
When running my solution with a debugger attached (F5) it takes 15+ seconds to render views, and I simply don't know why. Not just the first page, but every page. This happens in all browsers.
If I run the same solution without debugger (Ctrl+F5), loading a page takes < 1 second.
I specifically saying it's the view, because the controller finish fast with and without debugger.
My solution is an Azure solution, but I don't know if Azure is part of my problem. I have this problem even if I run my website directly from IIS without using Azure's Compute Emulator (AKA AppFabric).
Code is not optimized in debug mode.
I think extra info in .pdb is being transfered to debugger.
Maybe IntelliTrace is logging to much info.
Also, your view is rendered 15 sec once or every request, because if you hit it first time, it needs to be compiled.

Using WatiN through MbUnit to test ASP .Net MVC web application

I am trying to apply some WatiN UI tests to my new ASP .Net MVC application, running the WatiN tests through MbUnit, but am having some difficulties.
If I follow the instructions (exactly) on this page, then the google homepage loads, up the text is inserted, the search is done and the test passes. (no problem here).
However, when I simply change the URL of the line...
var ie = new IE(new Uri("http://www.google.co.uk"));
to the website hosted on my PC through IIS (on Win7), (e.g. to http://localhost/myapp/) the homepage of my application loads fine, but the test-runner seems to still be waiting for confirmation that the page has loaded and then the test fails due to a timeout.
Here's the failed response from within the IDE...
*** Failures ***
Exception
WatiN.Core.Exceptions.TimeoutException: Timeout while Internet Explorer state not complete
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.ThrowTimeOutException(Exception lastException, String message)
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.HandleTimeOut()
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.Try[T](DoFunc`1 func)
at WatiN.Core.WaitForCompleteBase.WaitUntil(DoFunc`1 waitWhile, BuildTimeOutExceptionMessage exceptionMessage)
at WatiN.Core.Native.InternetExplorer.WaitForComplete.WaitWhileIEReadyStateNotComplete(IWebBrowser2 ie)
at WatiN.Core.Native.InternetExplorer.IEWaitForComplete.DoWait()
at WatiN.Core.DomContainer.WaitForComplete(IWait waitForComplete)
at WatiN.Core.IE.WaitForComplete(Int32 waitForCompleteTimeOut)
at WatiN.Core.DomContainer.WaitForComplete()
at WatiN.Core.Browser.GoTo(Uri url)
at WatiN.Core.IE.FinishInitialization(Uri uri)
at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)
at WatiN.Core.IE..ctor(Uri uri)
at FppRendersUI.Test.Program.DoSomething() in C:\Dev\MyCode.Test\Program.cs:line 18
Anybody else get this, or is it just me?
There should be no significant differences testing a website on locahost.
Two possible causes:
If your webpage contains any significant AJAX then it's possible that the page never appears to be fully loaded so WatiN just keeps waiting.
I have fixed one or two bugs in WatiN now and then related to detecting that a page has been fully loaded. You might try grabbing the WatiN trunk source and building a fresh copy of the latest code.
If none of that helps, WatiN also has "NoWait" variants of several actions like clicking. You can also override what it means to WatiN to wait for a page to be complete by registering a WaitForComplete handler.
I've had this happen to me when I had a reference to a resource that didn't load.
Do have a reference to a JS, CSS, or image file that doesn't exist?
If you look at the HTTP traffic with Fiddler do you see any connections timing out?
Make sure the program is running as an administrator. On Win7 it will load the page but Watin can't access the DOM unless Visual Studio or Gallio Icarus are started with administrator privileges.

Liferay - Struts2 Portlet sample

I am working with struts2 portlet sample and deployed in liferay portel using liferay server. It is working fine. But now I am trying to validate my form even that working perfectly for first time. But after first attempt when form is submitted with desired values it is not proceedin further and not recogonizing the desired action too.
Can anybody helm me in this issue.
Thanks in advance
We have the same setup and have had numerous problems with making struts 2 work nicely with the portlet api. We had the same problem as you early on. Are you using the bridge provided with the struts 2 distribution?
One thing that doesn't work with the bridge is chained actions - you can't have an action that redirects to another action. We did som coding of our own to solve it where the action classes figures out which action that is next. (Our application is a step-by-step guide where steps are included or not dependings on what you have entered previously.)
You might put some break points in PortletStateInterceptor and verify that your action state is getting save and then restored. Note that in portlets there is an action phase and a render phase and if you find the DirectRenderRequest action on the top of the stack instead of yours then you're probably not saving the valuestack state during the action phase.

Resources