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. 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>