I'm using Eclipse 2022-09 (4.25.0) and I have a Tomcat 9.0.36 configured as Eclispe server with these options:
The server works correctly and web modules (applications) are not configured to auto reload on files change.
Now I would like to manually reload a single web module without restart whole server and I see that on the Eclipse Server interface, with right click on each module, I can access a context menu:
however menu items
"Start" "Stop" "Restart"
are always disabled, despite of server status (running or not) or running mode (debug, normal, profile).
Is there a way to enable these options and "Restart" module manually without restart the server ?
Related
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.
It would be great if someone can help me on this:
I configured a tomcat server for doing remote debugging using eclipse:
I used the gui for tomcat7
If I run tomcat with the command
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n it works fine but
If I put suspend=y in the above command tomcat sert hangs in starting state and does not stop at all even after 2-3 hours.
When using suspend=y, the JVM remains suspended until a debug client connects.
To connect to the suspended Tomcat instance, you can create a new Eclipse Debug Configuration via Run->Debug Configurations. Then choose Remote Java Application. On the configuration panel, specify the host and port e.g. 8000 to connect. Finally, press Debug. This will attempt to connect to your suspended Tomcat instance. Once, the connection is made you can step through the code. (Of course, you must load that code into the Eclipse workspace)
My application runs on a remote server.
I use tomcat to deploy the web based part of my application.
The flow is Action classes calls the remote classes using RMI.
I am using Eclipse and When I browse a page, am able to debug the remote java classess, But I need to debug Action classes also as it also contains more logic.
How will I do it, Please help, Thanks in advance.
Regards,
Sridevi
Either launch Tomcat in debug mode from Eclipse, or launch tomcat with remote debug options, and attach a remote debug session from Eclipse to this tomcat server (in a similar way as you're probably doing for the remote RMI server).
See http://wiki.apache.org/tomcat/HowTo#How_do_I_debug_a_Tomcat_application.3F for how to start tomcat in remote debug mode:
set JPDA_ADDRESS=1044
set JPDA_TRANSPORT=dt_socket
catalina jpda start
I am trying to debug a local code ( which is on my laptop) using eclipse, which I am trying to connect to the remotely hosted WAS( WebSphere Application server) and remotely hosted database.
To remotely connect to WAS, first, from the WebSphere Integrated Solutions Console:
Navigate to the application server's Debugging Service:
Servers > Server Types > WebSphere application servers > [serverName] > Debugging Service
Check the "Enable service at server startup" checkbox
Add/modify the "JVM debug port" if necessary (the port must not already be in use on the server)
Add/modify the "JVM debug arguments" if necessary (this may already appear by default):
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777
Apply the changes, Save the new configuration, and Restart the application server
Then, from the Eclipse IDE:
Open the "Debug" dialog (e.g. Run > Debug Configurations...)
Right-click "Remote Java Application" and select "New"
Configure the Remote Java Application:
Name the debug configuration
Browse to select the project to debug (optional)
Use the "Standard (Socket Attach)" Connection Type
Specify the hostname of your WAS server
Specify the port number that was set in the WAS debug options
Click Apply
Click Debug
(These instructions are for WAS 7.0, but should be similar for other versions.)
I am currently using Eclipse to develop a fairly straight-forward Java EE dynamic web application. I have just been using Eclipse to deploy the web app to a GlassFish 3.1 server locally running on my dev machine for development and debugging purposes.
So far, so good. But now, I am looking into deploying the app to a remote GF server for further testing.
In Eclipse, I open the "Servers" tab and select the "New->Server" context menu. I enter the IP address of the remote server running GlassFish, but the "New Server" dialog won't let me proceed. Instead, it gives me the error message:
Remote Server is not secured: It
cannot be used remotely...
Some initial research suggests that remote deployment/debugging is currently not supported by Eclipse. Is that what Eclipse is trying to tell me with this weird error message? Surely "Remote deployment/debugging not supported" would be more apt. Am I overlooking something fundamental here?
Read http://blogs.oracle.com/quinn/entry/securing_adminstration_in_glassfish_server1
Access to remote servers can only be done if the server has been secured...
You want to make sure you have enabled secure administration. Generally you should do the following:
using ./asadmin change-admin-password command to set a password on the 'admin' user. By default there is none (so when it asks for your current admin password just hit Enter assuming you've never set one)
using ./asadmin start-domain to startup the default 'domain1'
using ./asadmin --host localhost --port 4848 enable-secure-admin will enable remote administration access (which you want) and tell Glassfish to start on the localhost at the default admin port 4848
finally use ./asadmin restart-domain to restart and apply those changes.
You should be able to now access the remote server and manage it via your Eclipse install. This works for Eclipse Luna and Glassfish4 open-source edition. Also note that you need to have a glassfish install on your Local development machine and point to that when it asks for the path to the Glassfish installation when setting up the server in Eclipse Wizard...despite the fact that you are connecting to a remote Glassfish instance. (See my SO post for more details/screenshots).
I am adding this because the current accepted answer only points to a link which is typically frowned upon here on SO since links have a tendency to go dead unexpectedly.