You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Fred Hauschel (JIRA)" <ji...@apache.org> on 2007/07/19 09:27:04 UTC

[jira] Closed: (AXIS2-2989) ServiceTCCL=service but org.apache.commons.logging.LogFactory uses WebappClassLoader

     [ https://issues.apache.org/jira/browse/AXIS2-2989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fred Hauschel closed AXIS2-2989.
--------------------------------

    Resolution: Won't Fix

sorry, usually this will be a "bug" in commons-logging. I will check this and possibly reopen this bug

> ServiceTCCL=service but org.apache.commons.logging.LogFactory uses WebappClassLoader
> ------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2989
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2989
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: Linux (unknown) i386 2.6.5-7.282-bigsmp
> Java(TM) 2 Runtime Environment, Standard Edition  1.5.0_12-b04  Java HotSpot(TM) Server VM) 
> Apache Tomcat/5.5.23
>            Reporter: Fred Hauschel
>
> I'd like to use a commons-logging (log4j) for each service in axis2 container. But SimpleLog for the axis2 stuff. 
> In "apache-tomcat-5.5.23/webapps/axis2/WEB-INF/classes/commons-logging.propertiesI've aktivated: org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog.  In the root of my aar there is a "commons-logging.properties" with "org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger". 
> The commons-logging LogFactory:
> sample: private static final Log LOG = LogFactory.getLog(ReportServiceMessageReceiver.class.getName());
> Uses the SimpleLog and not the Log4j! The following Code is from LogFactory.getContextClassLoader():
> Method method = Thread.class.getMethod("getContextClassLoader", null);
> classLoader = (ClassLoader)method.invoke(Thread.currentThread(), null);
> It returns me the "WebappClassLoader" not your axis classloader. I think it should be somethink like DeploymentClassLoader?!
> I found this blog: http://wso2.org/blog/dims/1131 and understand it like  <parameter name="ServiceTCCL">service</parameter> should set the axis classloader as TCCL. So the code above should return the axis classloader, shouldn't it?
> Thanks Fredy
> There is my services.xml:
> <!-- This file was auto-generated from WSDL -->
> <!-- by the Apache Axis2 version: #axisVersion# #today# -->
> <serviceGroup name="ReportService">
> 	<service name="ReportServiceInitializer"
> 		class="de.xyz.reporting.startup.ServiceLifeCycle">
> 		<parameter name="ServiceClass">
> 			de.xyz.reporting.startup.ServiceLifeCycle
> 		</parameter>
> 		<parameter name="ServiceTCCL">composite</parameter>
> 		<operation name="springInit">
> 			<messageReceiver
> 				class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
> 		</operation>
> 	</service>
> 	<service name="ReportService">
> 		<useOriginalwsdl>true</useOriginalwsdl>
> 		<parameter name="ServiceTCCL">service</parameter>
> 		<parameter name="ServiceObjectSupplier">
> 			org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
> 		</parameter>
> 		<parameter name="SpringBeanName">
> 			ReportService
> 		</parameter>
> 		<operation name="yourMethod">
> 			<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
> 				class="de.xyz.reporting.glue.ReportServiceMessageReceiver" />
> 		</operation>
> 		<operation name="getServiceInfo">
> 			<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
> 				class="de.xyz.reporting.glue.ReportServiceMessageReceiver" />
> 		</operation>
> 	</service>
> </serviceGroup>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org