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>

Reply via email to