Brzezinski, Paul J wrote: > Costin Manolache wrote: > >>A quick test: put commons-logging.jar and log4j.jar in common/lib. >> >>Most classloader problems are due to the loader hierarchy. >> >>It is possible ( at least with 5.0 - I'm running it this way ) to >>put all the jars in the same place ( like common/lib or just in CLASSPATH) >>and run tomcat with delegation and a simple class loader hierarchy. >> >> > please help me understand if there's anything out-of-the ordinary that I > need to do to run tomcat with delegation and a simple class loader > hierarchy. I quickly reviewed the class loader HOW-TO and nothing > popped out as how to do this.
There is nothing out-of-the ordinary, just put all the jars in common/lib. Or you can put all of them in the classpath and call o.a.catalina.startup.Catalina instead of bootstrap, but I'm not sure it'll work ( it does for what I'm using - 5.0 head ). > > If you mean putting everything -- all the jar files mentioned in that > document into $CATALINA_HOME/common/lib... Yes. That would put everything in the 'main' classloader. You loose the separation - and it may be slightly more insecure. AFAIK the classloader separation doesn't add extra protection if the sandbox is disabled - and the facades are protecting the internals. Costin > >>I would bet the same works with 4.1.x - jboss for example is using >>embeded tocmat with all the jars in the main loader. >> >>Regarding the unix channel - you need to be able to load libjkjni.so >>and libapr.so. It may be a good idea ( at least for testing ) to place >>them in the JRE_HOME/lib dir - that's a place where java will certainly >>look for .so files. ( at least with JDK1.4 I had some problems with >>loading jars, and the LD_LIBRARY_PATH may create some problems ). >> >>Costin >> >> >> >>Brzezinski, Paul J wrote: >> >> >> >>>Original post came from Tomcat Users, replying/cross-posting... >>> >>> >>> >>>: -----Original Message----- >>>: From: Costin Manolache [mailto:cmanolache@;yahoo.com] >>>: Sent: Wednesday, November 13, 2002 3:16 PM >>>: To: Tomcat Developers List >>>: Subject: RE: JK2 unixsocket: Can't create apr >>>: >>>: >>>: Very weird. >>>: >>>: Are you using the latest commons-logging.jar ? JDK1.4 or 1.3 >>>: ? Do you have log4j ? >>> >>>Yes -- *I* get this error on 4.1.12/5.0 on Solaris 8, hopefully Robert >>>Williams can provide details about his specfic config: >>> >>> >>>I have: >>> >>>j2sdk1.4.1 >>>commons-logging-1.0.2 >>>jakarta-log4j-1.2.6 >>> >>>Tried this against: >>>jakarta-tomcat-4.1.12 >>>jakarta-tomcat-4.1.12-LE-jdk14 >>>jakarta-tomcat-5 >>> >>>I get the same error -- can't create apr... >>> >>>java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory >>> at org.apache.jk.apr.AprImpl.<clinit>(AprImpl.java:340) >>> >>>: The problem seems releated to class loading ( as usual :-). >>> >>>Yeah, but how do we work-around it or solve it permanently. I've tried >>>massaging the catalina.sh startup script to include commons-logging.jar >>>in CLASSPATH that gets passed to the JVM at startup. >>> >>>I've put commons-logging.jar in $CATALINA_HOME/server/lib even though >>>commons-logging-api.jar exists there. >>> >>>I see in the -LE-jdk14 that there's a log4j.rename-to-jar. What's the >>>confidence level that this will resolve this problem? >>> >>>Is this a problem on other platforms? >>> >>>Is this NOT a problem on Linux? >>> >>>: Costin >>>: >>>: >>>: Brzezinski, Paul J wrote: >>>: >>>: > I wonder if a better question is: >>>: > >>>: > Is anyone using the ChannelUnix (AF_UNIX socket) connector on any >>>: > platform? >>>: > >>>: > On what platforms is the ChannelUnix (AF_UNIX socket) connector >>>: > actually known to function? >>>: > >>>: > >>>: > >>>: > : -----Original Message----- >>>: > : From: Robert Williams [mailto:rcw1@;pacbell.net] >>>: > : Sent: Wednesday, November 13, 2002 1:05 PM >>>: > : To: Tomcat User >>>: > : Subject: JK2 unixsocket: Can't create apr >>>: > : >>>: > : >>>: > : Hi all, >>>: > : I am trying to implement the unixsocket on JK2. While the >>>: > : channelSocket >>>: > : works fine I was hoping to get the speed benefits of a >>>: > : unixsocket. I am >>>: > : using the example setups in the JK2 documentation. And since >>>: > : it seems to >>>: > : be looking for the LogFactory I have made sure that >>>: > : commons-logging-api.jar was in the Tomcat common/lib and I >>>: > : also put it >>>: > : in java/jre/lib/ext as well. All to no avail. I am >>>: stumped. I haven't >>>: > : been able to find anything in the list or on google >>>: addressing this >>>: > : problem. Some docs regarding channelSocket say disable >>>: apr for this >>>: > : error but apparently unixsocket won't work without apr >>>: > : enabled. Any help >>>: > : would be appreciated. >>>: > : Thanks Robert >>>: > : >>>: > : jakarta-tomcat-4.1.12 >>>: > : jakarta-tomcat-connectors-4.1.12 >>>: > : Apache/2.0.43 >>>: > : Solaris 9 >>>: > : >>>: > : Nov 13, 2002 9:29:04 AM org.apache.jk.server.JkMain newHandler >>>: > : SEVERE: Can't create apr >>>: > : java.lang.NoClassDefFoundError: >>>: org/apache/commons/logging/LogFactory >>>: > : at org.apache.jk.apr.AprImpl.<clinit>(AprImpl.java:340) >>>: > : at java.lang.Class.forName0(Native Method) >>>: > : at java.lang.Class.forName(Class.java:130) >>>: > : at org.apache.jk.server.JkMain.newHandler(JkMain.java:494) >>>: > : at org.apache.jk.server.JkMain.start(JkMain.java:316) >>>: > : at >>>: > : org.apache.jk.server.JkCoyoteHandler.start(JkCoyoteHandler.jav >>>: > : >>>: > : workers2.properties >>>: > : >>>: > : [shm] >>>: > : file=${serverRoot}/logs/shm.file >>>: > : size=1048576 >>>: > : >>>: > : # Example unixsocket channel. >>>: > : [channel.un:unixsocket] >>>: > : file=/usr/local/tomcat/work/jk2.socket >>>: > : >>>: > : # define the worker >>>: > : [ajp13:unixsocket] >>>: > : channel=channel.un:unixsocket >>>: > : >>>: > : # Uri mapping >>>: > : [uri:/examples/*] >>>: > : worker=ajp13:unixsocket >>>: > : >>>: > : jk2.properties >>>: > : # list of needed handlers. >>>: > : handler.list=apr,channelUnix,request >>>: > : >>>: > : # Location of the socket. >>>: > : channelUnix.file=${jkHome}/work/jk2.socket >>>: > : >>>: > : # Dynamic library >>>: > : apr.NativeSo=${jkHome}/lib/jkjni.so >>>: > : >>>: > : jk2.properties.save >>>: > : #AUTOMATICALLY GENERATED >>>: > : #Wed Nov 13 09:38:33 PST 2002 >>>: > : handler.list=apr,channelUnix,request >>>: > : secure=false >>>: > : soTimeout=20000 >>>: > : port=8009 >>>: > : jkHome=/usr/local/jakarta-tomcat-4.1.12 >>>: > : maxThreads=75 >>>: > : backlog=10 >>>: > : apr.NativeSo=${jkHome}/lib/jkjni.so >>>: > : timeout=20000 >>>: > : channelUnix.file=${jkHome}/work/jk2.socket >>>: > : tcpNoDelay=true >>>: > : >>>: > : >>>: > : Build Apache >>>: > : ./configure --with-mpm=worker --enable-so --enable-layout=Apache >>>: > : --enable-module=most --enable-mods-shared=most >>>: > : make >>>: > : make install >>>: > : >>>: > : Build jk2 Conector >>>: > : cd ${conector.home}/jk/native2 >>>: > : sh ./buildconf.sh >>>: > : >>>: > : cp /usr/java/include/solaris to /usr/java/include/ >>>: > : >>>: > : CPPFLAGS=-DBSD_COMP ./configure \ >>>: > : --with-apxs2=/usr/local/apache2/bin/apxs \ >>>: > : --with-tomcat41=/usr/local/tomcat \ >>>: > : --with-java-home=${JAVA_HOME} \ >>>: > : --with-java-platform=2 \ >>>: > : --with-jni >>>: > : >>>: > : make CPPFLAGS=-DBSD_COMP >>>: > : >>>: > : cd ${conector.home}/jk/build/jk2/apache2 >>>: > : mkdir /usr/local/tomcat/lib/ >>>: > : cp * /usr/local/tomcat/lib/ >>>: > : cp mod_jk2.so /usr/local/apache2/modules/ >>>: > : >>>: > : installed GNU Tools >>>: > : autoconf-2.54-sol9-sparc-local.gz >>>: > : tar-1.13.19-sol9-sparc-local.gz >>>: > : m4-1.4-sol9-sparc-local >>>: > : automake-1.7.1-sol9-sparc-local >>>: > : make-3.80-sol9-sparc-local.gz >>>: > : libtool-1.4 >>>: > : >>>: > : >>>: > : >>>: > : >>>: > : -- >>>: > : To unsubscribe, e-mail: >>>: > : <mailto:tomcat-user-: [EMAIL PROTECTED]> >>>: > : For >>>: > : additional commands, >>>: > : e-mail: <mailto:tomcat-user-help@;jakarta.apache.org> >>>: > : >>>: >>>: >>>: -- >>>: To unsubscribe, e-mail: >>>: <mailto:tomcat-dev-: [EMAIL PROTECTED]> >>>: For >>>: additional commands, >>>: e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org> >>>: >>> >>> >> >> >>-- >>To unsubscribe, e-mail: >><mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional >>commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org> >> >> -- To unsubscribe, e-mail: <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>