axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas" <dava...@gmail.com>
Subject Re: Axis2 JMSListener on Websphere
Date Mon, 27 Oct 2008 01:42:34 GMT
Martin,

Was this problem in WAS 7 or 6.x?

-- dims

On Sun, Oct 26, 2008 at 10:21 AM, Martin Gainty <mgainty@hotmail.com> wrote:
> Good Morning All-
>
> we really need to know which classloader is loading that class before making
> any kind of recommendation
> BTW: Weblogic has a custom classLoader hierarchy available in
> weblogic-application.xml
> http://e-docs.bea.com/wls/docs81/programming/classloading.html
>
> glassfish has the ability to turn off parent first delegation with
> delegate="false" attribute specification
> https://glassfish.dev.java.net/nonav/javaee5/docs/DG/beade.html
>
> I raised this "specifying custom classloader options in Websphere" to IBM
> on  in a opinion poll
> *Hopefully* the new IBM WAS will have this capability in 2009
>
> Maybe Keith / Glen or Brian DePradine can weigh in when they get into their
> office tommorrow am..
> (although I think Keith and Glen will be in ApacheConUS in New Orleans
> starting this week..)
>
> HTH..Keep us apprised!
> Martin Gainty
> ______________________________________________
> Disclaimer and confidentiality note
> Everything in this e-mail and any attachments relates to the official
> business of Sender. This transmission is of a confidential nature and Sender
> does not endorse distribution to any party other than intended recipient.
> Sender does not necessarily endorse content contained within this
> transmission.
>
>
>> Date: Sat, 25 Oct 2008 20:55:34 -0700
>> From: djohnjimmy@gmail.com
>> To: axis-dev@ws.apache.org
>> Subject: RE: Axis2 JMSListener on Websphere
>>
>>
>> Hi mgainty,
>>
>> Actually that is my jmsContext.xml. I also trying my luck
>> on JSF forum
>> ( http://forums.sun.com/thread.jspa?threadID=5342580)
>> and spring forum
>> ( http://forum.springframework.org/showthread.php?p=209833#post209833)
>>
>> And so far Nabble has been the only helpful forum, thanks to people like
>> andreas and you.
>>
>> I will try the JAVA_OPTIONS you suggestion and see what happens. Thanks!
>>
>> But any pointers on what is going on?
>>
>> The QCFs are created fine with parent classsloader first but with parent
>> last everything is messed up.
>>
>>
>>
>> mgainty wrote:
>> >
>> >
>> > as andreas mentioned we need to determine which CL *server classloader
>> > or
>> > application classloader is loading the class
>> > assuming you're using Spring ConnectionFactories..can we see your
>> > jmsContext.xml it should look something like:
>> >
>> > <bean id="appJmsGateway"
>> > class="com.newwave.apps.ehrds.jms.AppJmsGateway">
>> > <property name="appRequestJmsTemplate" ref="appRequestJmsTemplate" />
>> >
>> > <property name="appResponseJmsTemplate" ref="appResponseJmsTemplate" />
>> >
>> > <property name="appRequestQueue" ref="appRequestQueue" />
>> >
>> > <property name="appResponseQueue" ref="appResponseQueue" />
>> >
>> > </bean>
>> >
>> > <!-- REQUEST JMS TEMPLATES -->
>> >
>> > <bean id="appRequestJmsTemplate"
>> > class="org.springframework.jms.core.JmsTemplate">
>> >
>> > <property name="connectionFactory" ref="appRequestQCF" />
>> >
>> > </bean>
>> >
>> > <!-- RESPONSE JMS TEMPLATES -->
>> >
>> > <bean id="appResponseJmsTemplate"
>> > class="org.springframework.jms.core.JmsTemplate">
>> >
>> > <property name="connectionFactory" ref="appResponseQCF" />
>> >
>> > </bean>
>> >
>> > <!--Connection Factories -->
>> >
>> > <!--REQUEST -->
>> >
>> > <jee:jndi-lookup id="appRequestQCF" jndi-name="jms/appRequestQCF"
>> > resource-ref="true" />
>> >
>> > <!--- RESPONSE -->
>> >
>> > <jee:jndi-lookup id="appResponseQCF" jndi-name="jms/appResponseQCF"
>> > resource-ref="true" />
>> >
>> > <!--Request Destinations i.e. Queues -->
>> >
>> > <jee:jndi-lookup id="appRequestQueue" jndi-name="jms/appRequestQueue"
>> > resource-ref="true" />
>> >
>> > <!--Response Destinations i.e. Queues -->
>> >
>> > <jee:jndi-lookup id="appResponseQueue" jndi-name="jms/appResponseQueue"
>> > resource-ref="true" />
>> >
>> >
>> > This sounds like a classloader order problem did you try placing
>> > -Dibm.cl.verbose=ClassToTrace MainClass in your JAVA_OPTS e.g.
>> > java -Dibm.cl.verbose=ClassToTrace
>> > com.ibm.ejs.jms.JMSConnectionFactoryFactory -jar bootstrap.jar
>> > http://www.ibm.com/developerworks/java/library/j-dclp1/
>> >
>> > Thanks,
>> > Martin
>> > ______________________________________________
>> > Disclaimer and confidentiality note
>> > Everything in this e-mail and any attachments relates to the official
>> > business of Sender. This transmission is of a confidential nature and
>> > Sender does not endorse distribution to any party other than intended
>> > recipient. Sender does not necessarily endorse content contained within
>> > this transmission.
>> >
>> >
>> >> Date: Sat, 25 Oct 2008 18:02:58 -0700
>> >> From: djohnjimmy@gmail.com
>> >> To: axis-dev@ws.apache.org
>> >> Subject: Re: Axis2 JMSListener on Websphere
>> >>
>> >>
>> >> Thanks Andreas,
>> >>
>> >> I tried removing jms.jar from the war and then deployed with "parent
>> >> last"
>> >> on WAS.
>> >>
>> >> WAS now fills the logs with huge exceptions now :
>> >>
>> >> [10/25/08 20:57:34:171 EDT] 00000022 ConnectionFac E J2CA0009E: An
>> >> exception occurred while trying to instantiate the
>> >> ManagedConnectionFactory
>> >> class com.ibm.ejs.jms.WSJMSManagedQueueConnectionFactory used by
>> >> resource
>> >> jms/appRequestQCF : java.lang.IllegalArgumentException
>> >>
>> >> [10/25/08 20:57:34:376 EDT] 00000022 Helpers W NMSV0605W: A
>> >> javax.naming.Reference object looked up from the context
>> >> "localhostNode01Cell/nodes/localhostNode01/servers/server1" with the
>> >> name
>> >> "jms/appRequestQCF" was sent to the JNDI Naming Manager and an
>> >> exception
>> >> resulted. Reference data follows:
>> >> Reference Factory Class Name:
>> >> com.ibm.ejs.jms.JMSConnectionFactoryFactory
>> >> Reference Factory Class Location URLs: <null>
>> >> Reference Class Name: javax.jms.QueueConnectionFactory
>> >> Address Type: JCA
>> >> AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 6e
>> >> 61
>> >> 6d
>> >> 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
>> >> Address Type: JMS
>> >> AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 6e
>> >> 61
>> >> 6d
>> >> 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
>> >>
>> >> Exception data follows:
>> >> java.lang.IllegalArgumentException
>> >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> >> Method)
>> >>
>> >> Caused by: org.springframework.beans.factory.BeanCreationException:
>> >> Error
>> >> creating bean with name 'appRequestQCF': Invocation of init method
>> >> failed;
>> >> nested exception is
>> >> com.ibm.websphere.naming.CannotInstantiateObjectException: Exception
>> >> occurred while the JNDI NamingManager was processing a
>> >> javax.naming.Reference object. [Root exception is
>> >> java.lang.IllegalArgumentException]
>> >>
>> >>
>> >> Any idea on what this means?
>> >>
>> >>
>> >>
>> >> Andreas Veithen-2 wrote:
>> >> >
>> >> > No, the problem is not that WebSphere doesn't see the javax.jms.*
>> >> > classes. It's just the opposite: they are in the classpath of both
>> >> > the
>> >> > server classloader and the application classloader. In parent first
>> >> > mode that's not an issue, but in parent last mode the result is that
>> >> > at runtime the relationships between classes are inconsistent with
>> >> > the
>> >> > compile time relationships. What happens here is that the application
>> >> > (Spring) refers to javax.jms.ConnectionFactory loaded by the
>> >> > application classloader while
>> >> > com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle implements
>> >> > javax.jms.ConnectionFactory loaded by the server classloader. This
>> >> > explains the error "Cannot convert value of type
>> >> > [com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle] to required type
>> >> > [javax.jms.ConnectionFactory]". To solve this, the JAR containing the
>> >> > javax.jms.* classes must be removed from the classpath of the
>> >> > application classloader.
>> >> >
>> >> > Andreas
>> >> >
>> >> > On Sat, Oct 25, 2008 at 03:28, Martin Gainty <mgainty@hotmail.com>
>> >> wrote:
>> >> >> Andreas-
>> >> >> he has geronimo-jms_1.1_spec-1.1.jar but the websphere ClassLoader
>> >> doesnt
>> >> >> see it or wont load the class
>> >> >>
>> >> >> try placing -Dibm.cl.verbose=ClassToTrace MainClass in your
>> >> >> JAVA_OPTS
>> >> >> e.g.
>> >> >> java -Dibm.cl.verbose=ClassToTrace MainClass jar bootstrap.jar
>> >> >>
>> >> >> http://www.ibm.com/developerworks/java/library/j-dclp1/
>> >> >>
>> >> >> HTH
>> >> >> Martin
>> >> >> ______________________________________________
>> >> >> Disclaimer and confidentiality note
>> >> >> Everything in this e-mail and any attachments relates to the
>> >> >> official
>> >> >> business of Sender. This transmission is of a confidential nature
>> >> >> and
>> >> >> Sender
>> >> >> does not endorse distribution to any party other than intended
>> >> recipient.
>> >> >> Sender does not necessarily endorse content contained within this
>> >> >> transmission.
>> >> >>
>> >> >>
>> >> >>> Date: Sat, 25 Oct 2008 01:11:54 +0200
>> >> >>> From: andreas.veithen@gmail.com
>> >> >>> To: axis-dev@ws.apache.org
>> >> >>> Subject: Re: Axis2 JMSListener on Websphere
>> >> >>>
>> >> >>> Then the culprit is probably jms.jar.
>> >> >>>
>> >> >>> Andreas
>> >> >>>
>> >> >>> On Sat, Oct 25, 2008 at 01:07, djohnjimmy <djohnjimmy@gmail.com>
>> >> wrote:
>> >> >>> >
>> >> >>> > Hi Andreas,
>> >> >>> >
>> >> >>> > Thanks for the quick response. But I dont have that jar
on my WAR
>> >> or
>> >> >>> > classpath.
>> >> >>> >
>> >> >>> > Jars in my WAR file :
>> >> >>> >
>> >> >>> > avalon-framework-4.1.3.jar jboss-el-2.0.0.GA.jar
>> >> >>> > org.springframework.web.servlet-2.5.5.A.jar
>> >> >>> > commons-beanutils-1.7.0.jar jms.jar
>> >> >>> > oro-2.0.8.jar
>> >> >>> > commons-codec-1.3.jar
>> >> >>> > jsf-facelets-1.1.14.jar pat-1.0.jar
>> >> >>> > commons-collections-3.2.jar jsp-2.1-6.0.0.jar
>> >> >>> > providerutil-1.2.1.jar
>> >> >>> > commons-digester-1.8.jar jsp-api-2.1.jar
>> >> >>> > providerutil.jar
>> >> >>> > commons-discovery-0.2.jar jsr173-api-1.0.jar
>> >> >>> > resolver-1.0.jar
>> >> >>> > commons-el-1.0.jar jstl-1.1.2.jar
>> >> >>> > shale-core-1.0.4.jar
>> >> >>> > commonservices.jar log4j-1.2.12.jar
>> >> >>> > shale-validator-1.0.4.jar
>> >> >>> > commons-fileupload-1.0.jar logkit-1.0.1.jar
>> >> >>> > spring-2.5.5.jar
>> >> >>> > commons-lang-2.4.jar
>> >> >>> > org.springframework.aop-2.5.5.A.jar spring-webmvc-2.5.5.jar
>> >> >>> > commons-logging-1.1.jar
>> >> >>> > org.springframework.beans-2.5.5.A.jar standard-1.1.2.jar
>> >> >>> > commons-validator-1.3.1.jar
>> >> >>> > org.springframework.binding-2.0.3.RELEASE.jar stax-api-1.0.1.jar
>> >> >>> > com.springsource.org.aopalliance-1.0.0.jar
>> >> >>> > org.springframework.context-2.5.5.A.jar tomahawk-1.1.6.jar
>> >> >>> > com.springsource.org.apache.commons.logging-1.1.1.jar
>> >> >>> > org.springframework.core-2.5.5.A.jar xbean-1.0.jar
>> >> >>> > connector.jar
>> >> >>> > org.springframework.faces-2.0.3.RELEASE.jar xbean_xpath-1.0.jar
>> >> >>> > fscontext-1.2.beta3.jar
>> >> >>> > org.springframework.js-2.0.3.RELEASE.jar xmlbeans-2.3.0.jar
>> >> >>> > fscontext.jar
>> >> >>> > org.springframework.web-2.5.5.A.jar xmlbeans-qname-1.0.jar
>> >> >>> > javassist-3.8.0.GA.jar
>> >
>> >> >>> > org.springframework.webflow-2.0.3.RELEASE.jar xmlpublic-1.0.jar
>> >> >>> >
>> >> >>> >
>> >> >>> > These are the jars in my Appserver lib :
>> >> >>> >
>> >> >>> > activation-impl.jar commons-collections-3.2.jar ext
>> >> >>> > j2ee.jar nif.jar sib.api.jmsra.rar
>> >> >>> > urlprotocols.jar
>> >> >>> > aspectjrt.jar commons-digester-1.8.jar ffdcSupport.jar
>> >> >>> > jacl.jar pc-appext.jar sib.ra.rar util.jar
>> >> >>> > base.jar commons-discovery-0.2.jar htmlshell.jar
>> >> >>> > launchclient.jar physicalrep.jar sljc.jar webadmin
>> >> >>> > bootstrap.jar commons-el-1.0.jar installver.jar
>> >> >>> > lmproxy.jar pmirm4arm.jar spy.jar WMQ
>> >> >>> > bsf-engines.jar commons-lang-2.4.jar installxml.jar
>> >> >>> > mail-impl.jar rrd-appext.jar spy-sl.jar wsatlib.jar
>> >> >>> > commandlineutils.jar EJBCommandTarget.jar iscdeploy.jar
>> >> >>> > marshall.jar rsadbutils.jar sqlserver.jar
>> >> >>> > wsif-compatb.jar
>> >> >>> > commons-beanutils-1.7.0.jar el-api-1.0.jar ivblogbr.jar
>> >> >>> > myfaces-api-1.2.4.jar rsahelpers.jar startup.jar
>> >> >>> > commons-codec-1.3.jar el-impl-1.0.jar IVTClient.jar
>> >> >>> > myfaces-impl-1.2.4.jar serviceadapter.jar tcljava.jar
>> >> >>> >
>> >> >>> >
>> >> >>> > Andreas Veithen-2 wrote:
>> >> >>> >>
>> >> >>> >> Try to remove the geronimo-jms_1.1_spec-1.1.jar file
from your
>> >> >>> >> WAR
>> >> or
>> >> >>> >> EAR. That should solve the problem.
>> >> >>> >>
>> >> >>> >> Andreas
>> >> >>> >>
>> >> >>> >> On Sat, Oct 25, 2008 at 00:22, djohnjimmy <djohnjimmy@gmail.com>
>> >> >>> wrote:
>> >> >>> >>>
>> >> >>> >>> I am facing the same problem although with JSF,
Spring, MQ and
>> >> WAS.
>> >> >>> >>>
>> >> >>> >>> JSF requires us to use change Class loader order
to "Classes
>> >> loaded
>> >> >>> >>> with
>> >> >>> >>> application class loader first" and with the configuration
-
>> >> >>> >>> the
>> >> >>> >>> queueConnectionFactories wont initialze...
>> >> >>> >>>
>> >> >>> >>> And it WAS throws the following exception :
>> >> >>> >>>
>> >> >>> >>> Caused by: java.lang.IllegalArgumentException:
Cannot convert
>> >> value
>> >> >>> of
>> >> >>> >>> type
>> >> >>> >>> [com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle]
to required
>> >> type
>> >> >>> >>> [javax.jms.ConnectionFactory] for property 'connectionFactory':
>> >> no
>> >> >>> >>> matching
>> >> >>> >>> editors or conversion strategy found
>> >> >>> >>>
>> >> >>> >>> If we Change Class loader order to "Classes loaded
with parent
>> >> class
>> >> >>> >>> loader
>> >> >>> >>> first", then JSF will not work.
>> >> >>> >>>
>> >> >>> >>> Looks like its either JSF or MQ for us on WAS.
Any ideas
>> >> >>> >>> anyone?
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>> callagc4 wrote:
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>> Hi,
>> >> >>> >>>>
>> >> >>> >>>> I have set up an MQQueueConnectionFactory
in Websphere. I have
>> >> >>> >>>> configured
>> >> >>> >>>> my axis2.xml to use this factory for my default
JMSListener.
>> >> >>> >>>> On
>> >> >>> >>>> startup
>> >> >>> >>>> the application is successfully finding the
Factory reference
>> >> >>> >>>> in
>> >> >>> the
>> >> >>> >>>> websphere jndi context however i am receiving
the following
>> >> >>> exception
>> >> >>> >>>>
>> >> >>> >>>> "com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle
incompatible
>> >> with
>> >> >>> >>>> javax.jms.ConnectionFactory"
>> >> >>> >>>>
>> >> >>> >>>> This appears to be a classpath issue on the
server as i have
>> >> >>> >>>> configured
>> >> >>> >>>> the client to use the same context and jndi
reference and it
>> >> >>> >>>> has
>> >> no
>> >> >>> >>>> problem creating the MQQueueConnectionFactory
and placing
>> >> messages
>> >> >>> on
>> >> >>> >>>> the
>> >> >>> >>>> queue. The client is a standalone java client,
it is running
>> >> >>> >>>> on
>> >> the
>> >> >>> >>>> ibm
>> >> >>> >>>> websphere jre and i have placed the following
classes on the
>> >> >>> >>>> classpath:
>> >> >>> >>>> ibm-jaxrpc-client.jar
>> >> >>> >>>> idl.jar
>> >> >>> >>>> j2ee.jar
>> >> >>> >>>> messagingClient.jar
>> >> >>> >>>> naming.jar
>> >> >>> >>>> namingclient.jar
>> >> >>> >>>> sas.jar
>> >> >>> >>>>
>> >> >>> >>>> Another point to note is that this issue depends
on the
>> >> classloader
>> >> >>> >>>> policy. When the ploicy is set to Application
first - single
>> >> loader
>> >> >>> i
>> >> >>> >>>> get
>> >> >>> >>>> this issue. However when the ploicy is set
to Application
>> >> >>> >>>> first
>> >> -
>> >> >>> >>>> multiple
>> >> >>> >>>> loaders the listener initializes. unfortunately
our
>> >> >>> >>>> application
>> >> >>> >>>> contraints
>> >> >>> >>>> require that our policy is Application fisrt
- single loader.
>> >> >>> >>>>
>> >> >>> >>>> Has anybody seen this issue before or are
there any ideas as
>> >> >>> >>>> to
>> >> >>> what
>> >> >>> >>>> may
>> >> >>> >>>> be causing this incompatablility issue?
>> >> >>> >>>>
>> >> >>> >>>> Cheers,
>> >> >>> >>>> Cathal
>> >> >>> >>>>
>> >> >>> >>>
>> >> >>> >>> --
>> >> >>> >>> View this message in context:
>> >> >>> >>>
>> >> >>> >>>
>> >> >>>
>> >>
>> >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-tp15165852p20158727.html
>> >> >>> >>> Sent from the Axis - Dev mailing list archive
at Nabble.com.
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>>
>> >> >>> ---------------------------------------------------------------------
>> >> >>> >>> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> >>> >>> For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>
>> >> >>> >>
>> >> ---------------------------------------------------------------------
>> >> >>> >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> >>> >> For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >> >>> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >
>> >> >>> > --
>> >> >>> > View this message in context:
>> >> >>> >
>> >> >>>
>> >>
>> >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-tp15165852p20159210.html
>> >> >>> > Sent from the Axis - Dev mailing list archive at Nabble.com.
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> ---------------------------------------------------------------------
>> >> >>> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> >>> > For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >> >>>
>> >> >>> ---------------------------------------------------------------------
>> >> >>> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> >>> For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >> >>>
>> >> >>
>> >> >> ________________________________
>> >> >> Store, manage and share up to 5GB with Windows Live SkyDrive. Start
>> >> >> uploading now
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> > For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >> http://www.nabble.com/Axis2-JMSListener-on-Websphere-tp15165852p20169507.html
>> >> Sent from the Axis - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> >> For additional commands, e-mail: axis-dev-help@ws.apache.org
>> >>
>> >
>> > _________________________________________________________________
>> > Store, manage and share up to 5GB with Windows Live SkyDrive.
>> >
>> > http://skydrive.live.com/welcome.aspx?provision=1?ocid=TXT_TAGLM_WL_skydrive_102008
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Axis2-JMSListener-on-Websphere-tp15165852p20170218.html
>> Sent from the Axis - Dev mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-dev-help@ws.apache.org
>>
>
> ________________________________
> Stay organized with simple drag and drop from Windows Live Hotmail. Try it



-- 
Davanum Srinivas :: http://davanum.wordpress.com

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


Mime
View raw message