---------------------------------------------------------------- BEFORE YOU POST, search the faq at <http://java.apache.org/faq/> WHEN YOU POST, include all relevant version numbers, log files, and configuration files. Don't make us guess your problem!!! ---------------------------------------------------------------- Hi all, Well, talked to my boss, and I was able to convince him that OAS was not the way to go. yay! (It helped that OAS crashed that afternoon, and we couldn't get it back up.) Now that we have JServ up and running, I've installed a number of jar files for development(in particular the collections classes for JDK 1.1.7B, downloaded from the sun site.). Unfortunatly, it seems that JServ isn't recognizing the classpath specified by the wrapper.classpath elements in jserv.properties. We're using JDK1.1.7B on Solaris, with greent_threads, I believe. The error I get when running a servlet is this: java.lang.NoClassDefFoundError: java/util/HashMap in the org.apache.jserv.JServServletManager.load_init(JServServletManager.java:579) at org.apache.jserv.JServServletManager.loadServlet(JServServletManager.java:488) etc, etc.... I dunno what files you need to see, but here is my jserv.properties file: Any help would be appreciated! Joshua Chen Apaise Technology Solutions Inc. # The Java Virtual Machine interpreter. # Syntax: wrapper.bin=[filename] (String) # Note: specify a full path if the interpreter is not visible in your path. wrapper.bin=/usr/jdk1.1.7B/bin/java # Arguments passed to Java interpreter (optional) # Syntax: wrapper.bin.parameters=[parameters] (String) # Default: NONE # Apache JServ entry point class (should not be changed) # Syntax: wrapper.class=[classname] (String) # Default: "org.apache.jserv.JServ" # Arguments passed to main class after the properties filename (not used) # Syntax: wrapper.class.parameters=[parameters] (String) # Default: NONE # Note: currently not used # PATH environment value passed to the JVM # Syntax: wrapper.path=[path] (String) # Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems # "c:\(windows-dir);c:\(windows-system-dir)" for Win32 systems # Notes: if more than one line is supplied these will be concatenated using # ":" or ";" (depending wether Unix or Win32) characters # Under Win32 (windows-dir) and (windows-system-dir) will be # automatically evaluated to match your system requirements # CLASSPATH environment value passed to the JVM # Syntax: wrapper.classpath=[path] (String) # Default: NONE (Sun's JDK/JRE already have a default classpath) # Note: if more than one line is supplied these will be concatenated using # ":" or ";" (depending wether Unix or Win32) characters. JVM must be # able to find JSDK and JServ classes and any utility classes used by # your servlets. # Note: the classes you want to be automatically reloaded upon modification # MUST NOT be in this classpath or the classpath of the shell # you start the Apache from. wrapper.classpath=/usr/local/apache/libexec/ApacheJServ.jar wrapper.classpath=/usr/java/jars/collections.jar wrapper.classpath=/usr/java/jars/jsdk.jar wrapper.classpath=/usr/java/jars/freemarker.jar wrapper.classpath=/usr/java/jars/classes111b.zip # An environment name with value passed to the JVM # Syntax: wrapper.env=[name]=[value] (String) # Default: NONE on Unix Systems # Default: NONE on Unix Systems # SystemDrive and SystemRoot with appropriate values on Win32 systems # An environment name with value copied from caller to Java Virtual Machine # Syntax: wrapper.env.copy=[name] (String) # Default: NONE # Copies all environment from caller to Java Virtual Machine # Syntax: wrapper.env.copyall=[true|false] (boolean) # Default: false # Protocol used for signal handling # Syntax: wrapper.protocol=[name] (String) # Default: ajpv12 # General parameters ###################### # Set the default IP address or hostname Apache JServ binds (or listens) to. # If you have a machine with multiple IP addresses, this address # will be the one used. If you set the value to localhost, it # will be resolved to the IP address configured for the locahost # will be resolved to the IP address configured for the locahost # on your system (generally this is 127.0.0.1). This feature is so # that one can have multiple instances of Apache JServ listening on # the same port number, but different IP addresses on the same machine. # Use bindaddress=* only if you know exactly what you are doing here, # as it could let JServ wide open to the internet. # You must understand that JServ has to answer only to Apache, and should not # be reachable by nobody but mod_jserv. So localhost is usually a # good option. The second best choice would be an internal network address # (protected by a firewall) if JServ is running on another machine than Apache. # Ask your network admin. # "*" _may_ be used on boxes where some of the clients get connected using # "localhost"and others using another IP addr. # Syntax: bindaddress=[ipaddress] or [localhost] or [*] # Default: localhost bindaddress=localhost # Set the port Apache JServ listens to. # Syntax: port=[1024,65535] (int) # Default: 8007 port=8007 # Servlet Zones parameters ########################### # List of servlet zones Apache JServ manages # Syntax: zones=[servlet zone],[servlet zone]... (Comma separated list of String # Default: NONE zones=root # Configuration file for each servlet zone (one per servlet zone) # Syntax: [servlet zone name as on the zones list].properties=[full path to configFile] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. root.properties=/usr/local/apache/conf/jserv/zone.properties # Thread Pool parameters ######################### # Enables or disables the use of the thread pool. # Syntax: pool=[true|false] (boolean) # Default: false # Default: false # WARNING: the pool has not been extensively tested and may generate deadlocks. # For this reason, we advise against using this code in production environments.pool=false # Indicates the number of idle threads that the pool may contain. # Syntax: pool.capacity=(int)>0 # Default: 10 # NOTE: depending on your system load, this number should be low for contantly # loaded servers and should be increased depending on load bursts. pool.capacity=10 # Indicates the pool controller that should be used to control the # level of the recycled threads. # Syntax: pool.controller=[full class of controller] (String) # Default: org.apache.java.recycle.DefaultController # NOTE: it is safe to leave this unchanged unless special recycle behavior # is needed. Look at the "org.apache.java.recycle" package javadocs for more # info on other pool controllers and their behavior. pool.controller=org.apache.java.recycle.DefaultController # Security parameters ##################### # Enable/disable the execution of org.apache.jserv.JServ as a servlet. # This is disabled by default because it may give informations that should # be restricted. # Note that the execution of Apache JServ as a servlet is filtered by the web # server modules by default so that both sides should be enabled to let this # service work. # This service is useful for installation and configuration since it gives # feedback about the exact configurations Apache JServ is using, but it should # be disabled when both installation and configuration processes are done. # Syntax: security.selfservlet=[true|false] (boolean) # Default: false # WARNING: disable this in a production environment since may give reserved # information to untrusted users. security.selfservlet=true # Set the maximum number of socket connections Apache JServ may handle # simultaneously. Make sure your operating environment has enough file # descriptors to allow this number. # Syntax: security.maxConnections=(int)>1 # Default: 50 security.maxConnections=50 # Backlog setting for very fine performance tunning of JServ. # Unless you are familiar to sockets leave this value commented out. # security.backlog=5 # List of IP addresses allowed to connect to Apache JServ. This is a first # security filtering to reject possibly unsecure connections and avoid the # overhead of connection authentication. # <warning> # (please don't use the following one unless you know what you are doing : # security.allowedAddresses=DISABLED # allows connections on JServ'port from entire internet.) # You do need only to allow YOUR Apache to talk to JServ. # </warning> # Default: 127.0.0.1 # Syntax: security.allowedAddresses=[IP address],[IP Address]... (Comma separated list of IP addresses) #security.allowedAddresses=127.0.0.1 # Enable/disable connection authentication. # NOTE: unauthenticated connections are a little faster since authentication # handshake is not performed at connection creation. # WARNING: authentication is disabled by default because we believe that # WARNING: authentication is disabled by default because we believe that # connection restriction from all IP addresses but localhost reduces your # time to get Apache JServ to run. If you allow other addresses to connect and # you don't trust it, you should enable authentication to prevent untrusted # execution of your servlets. Beware: if authentication is disabled and the # IP address is allowed, everyone on that machine can execute your servlets! # Syntax: security.authentication=[true,false] (boolean) # Default: true security.authentication=false # Authentication secret key. # The secret key is passed as a file that must be kept secure and must # be exactly the same of those used by clients to authenticate themselves. # Syntax: security.secretKey=[secret key path and filename] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. #security.secretKey=/usr/local/apache/conf/jserv/jserv.secret.key # Length of the randomly generated challenge string (in bytes) used to # authenticate connections. 5 is the lowest possible choice to force a safe # level of security and reduce connection creation overhead. # Syntax: security.challengeSize=(int)>5 # Default: 5 #security.challengeSize=5 # Logging parameters #################### # Enable/disable Apache JServ logging. # WARNING: logging is a very expensive operation in terms of performance. You # should reduced the generated log to a minumum or even disable it if fast # execution is an issue. Note that if all log channels (see below) are # enabled, the log may become really big since each servlet request may # generate many Kb of log. Some log channels are mainly for debugging # purposes and should be disabled in a production environment. # Syntax: log=[true,false] (boolean) # Default: true log=true # Set the name of the trace/log file. To avoid possible confusion about # the location of this file, an absolute pathname is recommended. # # This log file is different than the log file that is in the # jserv.conf file. This is the log file for the Java portion of Apache # JServ. # On Unix, this file must have write permissions by the owner of the JVM # process. In other words, if you are running Apache JServ in manual mode # and Apache is running as user nobody, then the file must have its # permissions set so that that user can write to it. # Syntax: log.file=[log path and filename] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. log.file=/usr/local/apache/logs/jserv.log # Enable the timestamp before the log message # Syntax: log.timestamp=[true,false] (boolean) # Default: true log.timestamp=true # Use the given string as a data format # (see java.text.SimpleDateFormat for the list of options) # Syntax: log.dateFormat=(String) # Default: [dd/MM/yyyy HH:mm:ss:SSS zz] log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz] # Since all the messages logged are processed by a thread running with # minimum priority, it's of vital importance that this thread gets a chance # to run once in a while. If it doesn't, the log queue overflow occurs, # to run once in a while. If it doesn't, the log queue overflow occurs, # usually resulting in the OutOfMemoryError. # To prevent this from happening, two parameters are used: log.queue.maxage # and log.queue.maxsize. The former defines the maximum time for the logged # message to stay in the queue, the latter defines maximum number of # messages in the queue. # If one of those conditions becomes true (age > maxage || size > maxsize), # the log message stating that fact is generated and the log queue is # flushed in the separate thread. # If you ever see such a message, either your system doesn't live up to its # expectations or you have a runaway loop (probably, but not necessarily, # generating a lot of log messages). # WARNING: Default values are lousy, you probably want to tweak them and # report the results back to the development team. # Syntax: log.queue.maxage = [milliseconds] # Default: 5000 log.queue.maxage = 5000 # Syntax: log.queue.maxsize = [integer] # Syntax: log.queue.maxsize = [integer] # Default: 1000 log.queue.maxsize = 1000 # Enable/disable logging the channel name # Default: false # log.channel=false # Enable/disable channels, each logging different actions. # Syntax: log.channel.[channel name]=[true,false] (boolean) # Default: false # Info channel - quite a lot of informational messages # hopefully you don't need them under normal circumstances # log.channel.info=true # Servlets exception, i.e. exception caught during # servlet.service() processing are monitored here # you probably want to have this one switched on log.channel.servletException=true # JServ exception, caught internally in jserv # we suggest to leave it on log.channel.jservException=true # Warning channel, it catches all the important # messages that don't cause JServ to stop, leave it on log.channel.warning=true # Servlet log # All messages logged by servlets. Probably you want # this one to be switched on. log.channel.servletLog=true # Critical errors # Messages produced by critical events causing jserv to stop log.channel.critical=true # Debug channel # Only for internal debugging purposes # log.channel.debug=true --- Duck-Jin Chun <[EMAIL PROTECTED]> wrote: > ---------------------------------------------------------------- > BEFORE YOU POST, search the faq at > <http://java.apache.org/faq/> > WHEN YOU POST, include all relevant version numbers, > log files, > and configuration files. Don't make us guess your > problem!!! > ---------------------------------------------------------------- > > Thanks Viehl, > > But that doesn't quite answer my question. Besides, > according to the api > documentation, there is no empty constructor for > org.apache.java.io.LogWriter. > > Let me rephrase the question... I may have been too > vague in my first > posting. > > I want to get a handle to a LogWriter so that I can > log my error messages > and debug info from my servlets. Do I have to > construct one myself? If so, > where do I get the Configurations? Or is there and > accessor somewhere to > get a handle to a LogWriter that I can use? > > Sample code would be ideal. > > thanks, > -Duck Jin > > > ----- Original Message ----- > From: Viehl Clemens <[EMAIL PROTECTED]> > To: 'Java Apache Users Mailingliste' > <[EMAIL PROTECTED]> > Sent: Monday, February 14, 2000 4:21 AM > Subject: Re: constructing > org.apache.java.io.LogWriter? > > > > > ---------------------------------------------------------------- > > BEFORE YOU POST, search the faq at > <http://java.apache.org/faq/> > > WHEN YOU POST, include all relevant version > numbers, log files, > > and configuration files. Don't make us guess your > problem!!! > > > ---------------------------------------------------------------- > > > > Hello! > > > > There is no problem when there are same classes in > different packages. > What > > do you think packages are for? > > > > Just type: > > org.apache.java.io.Logwriter logWriter = new > org.apache.java.io.Logwriter > > (); > > > > You can qualify a class by giving the full package > path. You have to do so > > by most classes if you wouldn't have many import > statements at the > beginnig > > of your code. > > > > Hope this helps. > > > > Regards > > > > Clemens Viehl > > > > > > I'm interested in using the > org.apache.java.io.LogWriter > > > class to log all my > > > servlet debug info and exception messages. > > > > > > But it seems that you need to construct the > LogWriter with an > > > org.apache.java.util.Configurations. > > > > > > Does anyone know how I can get the > Configurations to > > > construct my LogWriter? > > > > > > thanks, > > > -Duck Jin > > > > > > > > > -- > > > -------------------------------------------------------------- > > Please read the FAQ! <http://java.apache.org/faq/> > > To subscribe: > [EMAIL PROTECTED] > > To unsubscribe: > [EMAIL PROTECTED] > > Archives and Other: > <http://java.apache.org/main/mail.html> > > Problems?: [EMAIL PROTECTED] > > > > -- > -------------------------------------------------------------- > Please read the FAQ! <http://java.apache.org/faq/> > To subscribe: > [EMAIL PROTECTED] > To unsubscribe: > [EMAIL PROTECTED] > Archives and Other: > <http://java.apache.org/main/mail.html> > Problems?: [EMAIL PROTECTED] > > > __________________________________________________ Do You Yahoo!? Talk to your friends online with Yahoo! Messenger. http://im.yahoo.com -- -------------------------------------------------------------- Please read the FAQ! <http://java.apache.org/faq/> To subscribe: [EMAIL PROTECTED] To unsubscribe: [EMAIL PROTECTED] Archives and Other: <http://java.apache.org/main/mail.html> Problems?: [EMAIL PROTECTED]