- This topic has 3 replies, 2 voices, and was last updated 19 years, 5 months ago by Scott Anderson.
-
AuthorPosts
-
bernardcenaMemberCould you please comment on the policies you have for installing MyEclipse/Eclipse in an enterprise environment running XP SP2.
How do you restrict the port range for debugging/connecting to remove servlet containers ? (Does Eclipse IDE have a “default” port setting) ?
Thanks
Scott AndersonParticipantHow do you restrict the port range for debugging/connecting to remove servlet containers ?
We don’t restrict port settings at all. As a development environment, developers are free to use what ports they like since they are typically debugging on their own machines.
(Does Eclipse IDE have a “default” port setting)
Not particularly. We ride on top of the Eclipse debugger and for debugging a JVM on the same machine it creates a java.net.ServerSocket on a random, unused port (using new ServerSocket(0)). Using that server socket, it generates a random client for the debug session on any open port on the developer’s machine.
bernardcenaMemberThanks for that, Scott.
Yes, opening up everything would be the default for a development only machine. However, our security people (I won’t get into reasons) insist on imposing restrictions so we need to come up with a port range that is open for dev tools such as MyEclipse. If only a range of ports was available, would MyEclipse/Eclipse still be able to function (open a random unused port in the range) ?
Scott AndersonParticipantBernard,
we need to come up with a port range that is open for dev tools such as MyEclipse. If only a range of ports was available, would MyEclipse/Eclipse still be able to function (open a random unused port in the range) ?
This is likely possible, but it’s a Java-specific issue not a product-specific issue. We ride on top of the Eclipse debugger, and it uses java.net to set up the socketry for debug sessions. It’s done like this in org.eclipse.jdt.internal.launching.StandardVMDebugger:
arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port);
The ‘port’ is determined by a call to java.net.ServerSocket:
socket= new ServerSocket(0).getLocalPort();
So, limiting the ports returned is a matter of limiting the number of ports that the java.net implementation will look at when this code is called. There are likely some special -D arguments that can be added to the commandline to configure this, but I wasn’t able to determine what they might be or even if they exist. In any event, it’s at a much lower level of configuration than is offered by either Eclipse or MyEclipse (or likely any other Java IDE’s, for that matter).
-
AuthorPosts