costin 01/03/27 12:27:42
Modified: src/share/org/apache/tomcat/startup StopTomcat.java
Log:
A quick fix for StopTomcat - if the file is not found ( probably because
we run from a different machine or tomcat was rebuilt ) but
command-line params are present ( port for example ), we'll execute
instead of throwing exception.( and ignore that ajp12.id is not found )
Revision Changes Path
1.7 +33 -27
jakarta-tomcat/src/share/org/apache/tomcat/startup/StopTomcat.java
Index: StopTomcat.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/startup/StopTomcat.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- StopTomcat.java 2001/03/25 21:53:16 1.6
+++ StopTomcat.java 2001/03/27 20:27:41 1.7
@@ -81,6 +81,8 @@
String host=null;
int port=-1;
String secret;
+ // explicit command line params ( for port, host or secret )
+ boolean commandLineParams=false;
public StopTomcat()
{
@@ -135,35 +137,36 @@
void stopTomcat() throws Exception {
String tchome=getTomcatHome();
- if( secret==null ) {
- try {
- BufferedReader rd=new BufferedReader
- ( new FileReader( tchome + "/conf/ajp12.id"));
- String line=rd.readLine();
-
- if( port < 0 ) {
- try {
- port=Integer.parseInt( line );
- } catch(NumberFormatException ex ) {
- ex.printStackTrace();
- }
+ // read TOMCAT_HOME/conf/ajp12.id unless command line params
+ // specify a port/host/secret
+ try {
+ BufferedReader rd=new BufferedReader
+ ( new FileReader( tchome + "/conf/ajp12.id"));
+ String line=rd.readLine();
+
+ if( port < 0 ) {
+ try {
+ port=Integer.parseInt( line );
+ } catch(NumberFormatException ex ) {
+ ex.printStackTrace();
}
-
- line=rd.readLine();
- if( host==null ) host=line;
- line=rd.readLine();
- if( secret==null ) secret=line;
- if( "".equals( secret ) )
- secret=null;
-
- } catch( IOException ex ) {
- //ex.printStackTrace();
- System.out.println("Can't read " + tchome + "/conf/ajp12.id");
- System.out.println(ex.toString());
- return;
}
+
+ line=rd.readLine();
+ if( host==null ) host=line;
+ line=rd.readLine();
+ if( secret==null ) secret=line;
+ } catch( IOException ex ) {
+ //ex.printStackTrace();
+ System.out.println("Can't read " + tchome + "/conf/ajp12.id");
+ // System.out.println(ex.toString());
+ if( ! commandLineParams )
+ return;
}
-
+
+ if( "".equals( secret ) )
+ secret=null;
+
System.out.println("Stoping tomcat on " + host + ":" +port +" "
+ secret);
InetAddress address=null;
@@ -257,6 +260,7 @@
}
if (arg.equals("-host") ) {
i++;
+ commandLineParams=true;
if (i < args.length)
host=args[i];
else
@@ -264,6 +268,7 @@
}
if (arg.equals("-port") ) {
i++;
+ commandLineParams=true;
if (i < args.length)
port=Integer.parseInt( args[i] );
else
@@ -271,7 +276,8 @@
}
if (arg.equals("-pass") ) {
i++;
- if (i < args.length)
+ commandLineParams=true;
+ if (i < args.length)
secret=args[i];
else
return false;