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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]