axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Gainty <mgai...@hotmail.com>
Subject RE: Axis2 JMSListener on Websphere
Date Sun, 26 Oct 2008 01:41:17 GMT

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
Mime
View raw message