Netbeans not keeping added server after restart - netbeans

When I add a new server (glassfish) or another, it works just fine. I can startup the server and deploy apps on it.
But, every time I restart netbeans the added servers are not there. It means I must add servers every time I open netbeans.
I'm using netbeans7.
Thanks.

Well, it is not happening any more on netbeans 7.2. If it was a bug, it has been fixed.

Related

Glassfish undeployment does not work on Windows but works fine on Linux

I am currently working on a web based application using Glassfish. Therefore I have to implement functionality, compile/package it (using maven), deploy the .war file on a glassfish server, test it and undeploy it again to start a new cycle.
My problem is, that Glassfish won't undeploy my .war file under Windows 7. Undeployment takes about 3 minutes and does not remove all deployed files in /glassfish/domains/myDomain/applications. It generates a .glassfishStaleFiles.
To deploy again, I first have to delete the content of /glassfish/domains/myDomain/applications entirely.
Obviously this takes too long and I need to do this many times a day while implementing.
BUT: It all works fine when using Ubuntu. Clean and fast undeployment and deployment.
Thanks in advance
This is a known issue with GlassFish, due to the way file handles are dealt with in Windows compared to Linux. If some process has a file open in Windows, then that will prevent deployment. There are lots of these edge cases in GlassFish many of which (perhaps all) have been fixed in Payara Server, which is derived from GlassFish. Payara Server is free, so I would recommend trying the latest version 4.1.2.174 to see if the issue is resolved there.
Here is an example of some of the fixes for these kinds of issues in Payara Server:
https://github.com/payara/Payara/pull/467

Restart Eclipse application

How can I restart an application in Eclipse through a socket call?
I built an error diagnosis app which can checks what code should be changed to handle the error, but after the change I have to restart the app again. I already have developed a plugin for Eclipse which would take care of this, but I am not sure on how to restart the app.
1.) Is there an internal Eclipse command to restart the app?
2.) Do I have to use a command shell (which I wouldn't prefer)?
Hope someone can help me or give me some guidance. Also I know that there is a possibility to restart an app for debugging, but I want to run the app without debugging.
If you mean you have an Eclipse 3.x style RCP application and you want to restart the RCP from an Eclipse plug-in then you just do:
PlatformUI.getWorkbench().restart(true);
which restarts the RCP using the current workspace.
For an e4 RCP you do:
#Inject
IWorkbench workbench;
workbench.restart();
#greg-449: Thanks for your respond, but what I am trying to achieve is a bit more complex. Consider the following, I have a service that runs on another machine in my company network. It turned out something wrong is going with this service. So you can connect with with a remote debugger to the server and can check with the source code, that you have on your local machine, what is going on. I would say the classic Remote Debugging in Java.
But when you have fixed the error in the code you also have to restart the service on this other machine somewhere in the network. The question is how to do this? By a shell command which gives you the instances on this machine where the service is running or is there some other possibility?
Hope this helps more to understand the problem.

Eclipse IDE remote rebug and remote edit a legacy webapp

I am in a bind here, what's happening is I have a legacy webapp which uses an in-memory database. The app requires 64GB of RAM just to launch and it takes at least 30 minutes to start.
I have to make updates/fixes to this application. Obviously it is impossible to launch it on my PC so everything has to be done on the server. I have considered setting up an Eclipse IDE on the Linux server where this app runs, but that introduces a set of new issues. I really would like to continue using my PC's Eclipse IDE and make edits to the app.
I am able to use the remote debugging capabilities of Eclipse IDE and launch this app from the linux server no problem. However this is not enough. After I make an edit, I need to be able to save/compile the file, and load this change into the server relatively quickly. I can't wait 30 minutes every time I make some updates to the app.
Can anyone recommend ideas on what to do in this scenario? Ideally I would love to be able to launch the app in DEBUG mode inside the Linux Eclipse IDE on the server and connect to this instance using remote debugging from my local/Windows IDE. I would like to make changes in my Windows Eclipse IDE and then quickly copy the files over to the linux server, pick them up in the Linux Eclipse IDE, compile them in the Eclipse IDE instance running in debug mode, and effectively "hot swapping" the changes, thereby avoiding the need to wait 30 minutes for the app to start back up... However when I try to do this, there is a caveat... I can't seem to be able to launch the webapp in Linux Eclipse IDE in both DEBUG mode and also remote-debug-connect to it, the error I am getting in Eclipse is:
"Cannot load this JVM TI agent twice"
I get what is going on: the local debugger is launching tomcat with the -agentlib:jdwp parameter and on top of it, I am trying to force it to also start up with the same arguments and so it complains, but is there some way to trick it into allowing me to remote connect into this debug session from my Windows server?
I managed to solve this issue by updating Tomcat's context.xml to support reloadable mode:
<Context reloadable="true">
And in the app to set it to reloadable in WEB-INF/web.xml:
<web-app reloadable="true">
Now I am able to make edits in my local windows Eclipse IDE, Save them, and they automatically get updated on the server side.

Unable to reconnect to Derby from Tomcat server started via Eclipse

I'm running on Win 7 using Eclipse 4.2 starting a web app on a Tomcat 7 server and using Derby database. I have tried many approaches but run consistently into a common problem:
Everything works just fine the first time I start up and run.
When I redeploy my application after a change, all database connections hang (any kind of restart).
If I stop Eclipse and restart Eclipse, that clears up the problem and the next run works fine again.
Having done some investigation, it appears that the problem is that the Derby port (1527) is not released from one execution of the server to the next. That seems very strange to me since Derby is started by the Tomcat instance which is a separate javaw process.
I've tried:
Configuring the Derby connection as a Tomcat resource
Establishing the connection within my code (rather than via Tomcat resource)
Both the embedded and the network driver
Starting / stopping the network driver from a servlet on startup and shutdown of the Tomcat server
Shutting down the embedded driver via servlet on shutdown of Tomcat
Again, every approach works fine to connect the first time.
One other symptom that doesn't appear to be related (except for as a possible indicator of whether or not shutdown completes correctly) is that the db.lck file for my database never gets deleted. However, whether or not it exists has no bearing on whether or not I can reconnect (only stopping/starting eclipse has an impact).
Any insight would be appreciated.
Thanks!
After some further investigation I'm going to call this a duplicate of: Cannot create JDBC driver of class ' ' for connect URL 'null' : I do not understand this exception. It's not quite the same thing, but that solution (creating META-INF/context.xml) allows it to proceed to failing calls rather than hangs, which is a significant improvement and suggests it's largely related.
I did finally figure this out. It turns out I had the derby jars in the Tomcat lib folder (for Tomcat) and in the deployment assembly for my application in Eclipse (rather than just in the build path). So Tomcat was using the built-in libs, while my app was using the embedded libs, and this resulted in conflicts. Leaving the libs as part of Tomcat and removing them from my war file solved the problem completely.

Google App Engine servlet not updating when I save?

Whenever I run Google App Engine it seems to be running an older version of the servlet than the last one I've saved.
What's going on? How can I fix this?
I'm using the GAE Eclipse Plugin.
I think this is a common pitfall. I also ran into a couple of times.
You should delete the cookies and the cache from Chrome.
If this isn't working, you should terminate and restart the server at eclipse all the time, when you modify the server side code.