Hello,

i'm facing a problem with jsp pages. Seems to have a broken work dir path and jasper doesn't prepare the jsp files to .java files for compilation.

symptom:
java.io.FileNotFoundException: /opt/tbone/server/tomcat/work/Catalina/localhost/tbone/org/apache/jsp/
topmenu_jsp.java
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:223)

This is the first jsp page of my webapp. servlets and html pages are working well.

What works:
same webapp in Tomcat 3.3 and in Tomcat 5.19 started with startup.sh
instead of jsvc. But I need the fork mechanism of jsvc for using port 80,443 as user. jsp-examples work fine but there are already precompiled jsp pages inside WEB-INF/classes/org/apache/jsp.

Any help would be appreciated.

Thanx,
)ngo


Setup information stuff:

- attached my init.d startup script
- server.xml snippet:

<Connector port="80"
maxThreads="50" minSpareThreads="2" maxSpareThreads="25"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connector port="443"
maxThreads="50" minSpareThreads="2" maxSpareThreads="25"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/ssl.key" keystorePass="any"/>

- global web.xml snippet for jsp part:

<servlet>
<servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>fork</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

- deploy snippet from conf/Catalina/localhost/tbone.xml:

<Context path="/tbone" docBase="/opt/tbone/server/configserver"
        debug="0" privileged="true" reloadable="true">

  <Logger className="org.apache.catalina.logger.FileLogger"
          prefix="configserver_log." suffix=".txt"
          timestamp="true"/>
</Context>

- the empty work dir:

sisyphos:/opt/tbone/server/tomcat # ll work/Catalina/localhost/tbone/
drwx------    2 www      tbone        4096 Apr 21 11:47 .
drwx------    6 www      tbone        4096 Apr 21 11:44 ..
-rw-------    1 www      tbone          44 Apr 21 11:44 tldCache.ser

- system informations:

tried with SUN j2sdk1.4.2_04 and
SUN j2re1.4.2_04 + tools.jar from j2sdk1.4.2_04

cat /etc/SuSE-release
SuSE Linux 8.0 (i386)
VERSION = 8.0
uname -a
Linux genesis-ika 2.4.18-4GB-SMP #1 SMP Wed Mar 27 13:56:04 UTC 2002 i686 unknown

#!/bin/bash
# $Id: run-tomcat,v 1.2.4.2 2004/04/16 17:32:15 ika Exp $
# Copyright Ingo Kampe, bone labs GmbH, Berlin, 2004

## SETUP ##
source /opt/tbone/shared/bin/makeenv
TOMCAT_OPTS=-Xmx128m
#JAVA_OPTS=-Xmx128m -server
CATALINA_HOME=${TOMCAT_HOME}
CATALINA_TMPDIR=${TOMCAT_HOME}/temp
CATALINA_PID=/var/run/tomcat.pid
TOMCAT_LOG=${TBONE_LOG_DIR}/tomcat
CONFIGSERVER_LOG=${TBONE_LOG_DIR}/configserver

CLASSPATH=\
${SHARED_LIB_DIR}/tools.jar:\
${CATALINA_HOME}/bin/commons-daemon.jar:\
${CATALINA_HOME}/bin/bootstrap.jar
## SETUP finished ##

case "$1" in
  start)
        # create log dir structure
        [ -d "${TOMCAT_LOG}" ] || setuidgid ${TBONE_USER} mkdir -p ${TOMCAT_LOG}
        [ -d "${CONFIGSERVER_LOG}" ] || setuidgid ${TBONE_USER} mkdir -p 
${CONFIGSERVER_LOG}

        cd ${CATALINA_HOME}

        # jsvc call for tomcat 5 (does not work correct!)
        #-jvm server \
        #${JSVC_BIN} \
        ./bin/jsvc \
        -home ${JAVA_HOME} \
        -cp ${CLASSPATH} \
        -user ${WWW_USER} \
        -Djava.endorsed.dirs=${TOMCAT_HOME}/common/endorsed \
        -Dcatalina.home=$CATALINA_HOME \
        -Djava.io.tmpdir=$CATALINA_TMPDIR \
        -outfile ${TBONE_LOG_DIR}/tomcat/catalina.out \
        -errfile '&1' \
        -pidfile ${CATALINA_PID} \
        ${TOMCAT_OPTS} \
        -verbose \
        org.apache.catalina.startup.Bootstrap

        # extension for jsvc BUG workaround
        #${CATALINA_HOME}/bin/catalina.sh start && sleep 1
        # extension end
    ;;
  stop)
        # extension for jsvc BUG workaround
        #${CATALINA_HOME}/bin/catalina.sh stop && sleep 1
        # extension end
        PID=`cat ${CATALINA_PID} 2>/dev/null`
        [ -n "$PID" ] && kill $PID && sleep 1
        [ -f ${CATALINA_PID} ] && rm ${CATALINA_PID}
        pkill -9 -u ${WWW_USER} jsvc
        rm -rf ${CATALINA_HOME}/work/*
    ;;
  restart)
        $0 stop
        $0 start
    ;;
  *)
        echo "Usage tomcat start/stop/restart"
        exit 1;;
esac

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to