Slow Eclipse Spring STS plugin - spring-boot

Am new to Spring and installed Eclipse STS plugin and working with services seem to be dead slow with CPU spiking in usage. The laptop just heats up and literally the fan runs like a Jet engine responding directly to the start/ stop of the services.
Although following have really ironed out all of the Eclipse performance issues with Spring STS for me, the actual daily development is just so slow where the services literally take minutes to start and Eclipse keeps freezing while debugging the code and normal code navigation also would freeze Eclipse while the services are UP.
java.util.concurrent.ExecutionException: org.eclipse.lsp4j.jsonrpc.JsonRpcException: java.io.IOException: The pipe is being closed
How to disable Eclipse IDE Language Server
The machine has 32 GB RAM, and Eclipse goes to anywhere between 2 GB to 8 GB of memory usage. Just do not know what is wrong here. Anyone faced this issue?

I found the issue here and the fix, and wanted to post it for anyone else who might be facing the same. The problem was with Eclipse 'Launch Group'.
Short answer - Dont use launch groups to start STS 'run configurations', just individually launch the services.
Long answer - Read on below ⤵
In my case I have multiple Spring services that need to start in a particular order, and so I used Eclipse 'Launch Group' to automate 'Run Configurations'.
I believe the problem really being with 'Launch Configurations', where it introduces 'build and refresh' of the 'Run Configurations' that have been put into launch groups. I'm sure there would be some good reason for Eclipse to have done this, but that really did not work for me in this case. Each time I start/ restart services using launch configurations, the 'Launch Configuration' is just triggering 'build' for all 9 Spring projects, and this adds up to Eclipse workload freezing it for good 6-10 minutes (as that is the project build time) before handing over control to STS plugin, which further takes few minutes to start all the services.
Once I stopped using 'Launch Configurations', 'start/ restart' of each service via the STS plugin is just seconds, not even minutes.
What a ride it had been! Hope this helps someone!!

Related

Intellij starting gradle multiple times and eventually fails

I am using Intellij on Windows to build a Ktor app, this problem is not specific to Ktor but any project, after about 30 mins or so of using the program and when I try to run the Application I am building, the log shows
Starting Gradle Darmon
Grade Daemon started in [x] seconds
Starting Gradle Darmon
Grade Daemon started in [x] seconds
and so on...
Is there a way to resolve this, as of now the temporary solution is to restart my PC
The issue seemed to be due to a WiFi hotspot turned on in my laptop, this seems to be a Gradle bug which will hopefully be fixed soon... I turned off the Hotspot and works fine....

Why won't neo4j CE 3.0.3 start a second time on Windows 7?

This is incredibly strange to me. Neo4j won't start a second time unless I restart Windows.
I installed neo4j Community Edition 3.0.3 on 64-bit Windows 7 and followed this youtube tutorial https://www.youtube.com/watch?v=Foj2tzq84DY. The tutorial was embedded in neo4j's site https://neo4j.com/download-thanks/?edition=community&flavour=winstall64&release=3.0.3&_ga=1.203356307.385208157.1468345542. Even thought the video lists 2.3 it's linked by Neo4j 3.0.3 download and worked fine for 3.0.3.
Everything worked like a charm. I played around with it for a while and things worked fine. I then shut it down, by clicking on stop in the little gui launcher. When I tried to start it up again, through the start menu, nothing seems to happen at all. I went into the Neo4j CE 3.0.3\bin directory and tried running from there, but I see no error messages, no log directory, no error dialog. I just seems to do nothing. I've also tried "neo4j-ce.exe start" and "neo4j-ce.exe restart". Nothing seems to work.
I checked windows services and didn't see any services starting with neo4j. Don't know if default setup runs it as a service, but if so, maybe it's under something else?
I have been able to get things to start up if I restart Windows, but that's a royal pain and cannot imagine that's intentional.
I do see that there's a jar in the bin directory, so I imagine I could start it with a java command, but I don't know the specifics. However, it's most disconcerting that there is no error message at all. I imagine that something didn't shut down properly, but at this point I have no idea what might be going wrong.
Any help is greatly appreciated.
I don't know if this is a bug with the launcher for the community edition of neo4j on windows 7 or not, but what I've found is that when you close the launcher dialog, it does not kill the neo4j-ce process. Thus, since the process is already running, albeit in a stopped state, it won't start again. The challenge there is, of course, that the dialog is gone and you can't click the start button to essentially connect to a database.
The solution is to go into Task Manager and end the "neo4j-ce.exe" process.
Once that is done you can start Neo4j normally.

Automated integration testing of a client/server Windows desktop application

My team is developing a desktop application (mixed C++/Tcl) that is used in a client-server setup. Currently it is Windows-only, but soon we will need to port it to Linux. CruiseControl.NET builds it every night from the source code in SVN and packages it into NSIS installer, but we have no automated tests to run.
It is nearly impossible to add any unit tests, but integration testing of the application is easy, because it is already heavily script-based.
The main task is to install the app into 3 PCs, configure it (that involves copying some files around), run it, monitor a possible crash, wait till integration testing is done, collect a summary, send emails. It could be done with a bunch of custom PowerShell scripts, but
In future we will want to add more features and more testing, and
what used to be a simple script soon blows up (as usual), so I want
to minimize custom scripting, and if I need to script something, I
prefer bash/cygwin (I am not familiar with Python or Ruby).
I want a web dashboard that will report current progress, and if
something failed - show logs
I need some supervisor that will monitor the app under test and
report if it hangs or crashes
we will need to test it also on Linux
ideally I would like to orchestrate some test steps between the PCs
(e.g. run test X on PC1 and test Y on PC2 in parallel, wait till they
both finish, then run test Z on PC1, while monitoring that nothing
crashes on PC2 etc)
So, I am looking for a COTS tool/set of tools that will help me to do it and don't have a steep learning curve. Ideally, for free, but if it is really good and has fair pricing, my company may purchase a license.
The process should be triggered from CruiseControl.NET when the NSIS installer is ready, and then perform everything described above. Basically, it should allow at least remote installation of software, running custom scripts and have a web dashboard.
Apparently, SCCM tools like Chef could be used, but so far neither of them supports a Windows server, only nodes. I would like to avoid setting up a Linux VM just for that, although I can do it, if I have no other choice. Also, Chef seems to be a bit overkill - good for 10k machines, but I have only 3... maybe 5 in future. And I am particularly curious about chances to orchestrate a distributed test.
Most of the similar questions here on StackOverflow and in internets are about web apps, Java containers, Maven etc, and there are just so many tools and plugins for these tools to evaluate.
Thanks in advance.
Install ccnet on your test machines. Have those ccnet projects listen to a file that gets edited when a new installer is ready. Have the test machines install that new installer and run tests. There you go. ccnet sends emails so there's your basic reporting.
Have the test results get reported into a database via web services using gSOAP(that's what we did). For linux you can run java cruisecontrol if you must. Write a gSOAP enabled test controller program to report the test results from the test machines. A little c++ app will do. Then write a website(we use ASP.NET) to query the database(Postgresql) and show results. Have the test machines auto update themselves via SVN to get the latest changes to the configuration. Use Nant. Nant is far superior to just using ccnet to run tasks. Nant works through ccnet. Use XML, XSL and CSS with ccnet to make test emails have the information you want(new passes, new failures, SVN differences to code bases, etc...)
Our latest development is putting a big TV in the kitchen with a summary of test results so people can know more readily what they broke!
The first thing I'd get working is a test machine listening for the new installer, installing it, running some basic tests and emailing the results back. Put the ccnet and nant configuration in version control and get that auto updating on the test machine so you don't have to log into every test machine and do an update every time you make a change.
This is hugely broad and pretty close to opinion based. Chef can handle steps like deploying the application to the test machines but it isn't a GUI test framework so you would need something else to handle that. Jenkins supports distributing tests to windows hosts so that seems like a good choice on that side of things but it isn't that great at multi-node tests or orchestration between them. I suspect you'll need to write most of this yourself given the requirements.

WaIISHost flatlining web-role

First off, I'm very new to Azure.
I've successfully deployed an ASP.NET MVC 3 web application to Azure, using a web role. The app uses Entity Framework and SQL Azure.
Recently I've done some changes (some including adding appsettings), and tried to upgrade the application. When upgrading, it took quite a long time, before Aborting. I've always deployed through the management portal Silverlight application at http://windows.azure.com.
When trying again to no avail, I setup remote desktop and deployed again. The remote desktop session was extremely slow, and it turned out to be because WaIISHost was putting the CPU to 100%.
The IIS Manager shows that the application is deployed and 'started', however I cannot navigate to the site in the VM, and the deployment constantly seems to be trying to update without success and eventually aborting and retrying, (as I write this, it's currently Busy and Waiting for role to start...).
Does anyone have any ideas as to what the problem could be?
I believe all the right dependencies are set to copy local, which is a possible problem. It is extremely hard to debug this issue, as the remote desktop session hangs so often due to the 100% CPU utilization, and the recycling/restarting/reupdating of the web role from time to time.
Thanks,
James
P.S. Hope some of that made at least some sense...
I doubt that there's something doing in your WebRole.OnStart and/or Run, which caused the WaIISHost uses 100% CPU. Can you remove all codes from the WebRole.OnStart and/or Run and try again.
And it might be helpful to turn on the IntelliTrace when deploying, so that you can download the trace and find out any exceptions occurred when your application started, even before the website started.

IBM RAD (Rational Application Developer 8 (8.0.3)) and WebSphere 6.1 - endless publishing unstoppable nightmare

Did anybody try to work with WAS 6.1 in RAD 8.0? I have a problem that makes it almost impossible to work. All the time I am trying to work, RAD publishes to WebSphere, though I have setting "Never publish automatically" in server details. Because of this it is also impossible to debug, and also very often WebSphere changes its status to "Stopped" though I hasn't stopped it. I set up fix pack 6.1.0-WS-WASSDK-WinX32-FP0000041.pak on my websphere, but it didn't help. I didn't have this problem with RAD 7.5.5 on the same WebSphere, so there is something wrong with RAD 8.0 when it works with WAS 6.1.
I use RAD 8.0.3 with WAS 6.1. I have seen at times the application restarting out from underneath me in ways that confuse it, but I've also had it work fine at other times.
When the former is happening, it's usually because I'm making a lot of changes in quick succession and don't actually want to re-test until they're all finished, so I just stop the server for a while.
I haven't tried the "Never publish" setting you describe, so I can't add to your knowledge of whether that can actually work. Another thing you might try is the "If server is started, publish changes immediately" checkbox in the "Add and Remove..." dialog.
Thank you dbreaux, I made setting "automatically publish after a build event" and after that I didn't see the problem, though it seems strange. So 2 steps that solved my problem were
setting up fix pack 6.1.0-WS-WAS-WinX32-FP0000041.pak + 6.1.0-WS-WASSDK-WinX32-FP0000041.pak
setting "automatically publish after a build event" in server details
The post below looks to be on point, at least for the current version of Rapid Application Developer (9.1.1). The problems I was experiencing were
For my local server it seemed like it was still "semi" publishing. I suspect but have not yet verified that changing "Run server with resources within workspace" to "Run server with resources on server" in the Server Overview page will fix that.
For my remote server it seemed like it was publishing every morning when I connected. The post referred me to the setting in Preferences..Server..Launching..Automatically publish when starting servers.
Here is the post.

Resources