I don't understand what you are trying to do, but I will comment anyway.
I suspect you are trying to use the wrong jndi tree. I would expect
that in geronimo you would set up an amq rar deployment pointing to
your remote amq broker and deploy an outbound connection factory and
some admin objects/destinations/queues or topics. This would all be
in geronimo.
The next step would be to make it so axis is using the geronimo
java:comp jndi context instead of the amq remote context. I suspect
this is going to involve installing an interceptor into axis2 since
from the stack trace it looks like the thread involved is coming from
a thread pool controlled by axis and the jndi java:comp context
relies on a ThreadLocal to hold the correct context. An axis2 expert
is going to need to comment on how to do this :-)
thanks
david jencks
On Jan 20, 2007, at 5:48 AM, falom wrote:
Hi Lin,
I setup jms resource in geronimo and have one axis2 client trying
to connection to it and call one axis2 service, but i got
javax.naming.NamingException: scheme java not recognized exception.
Does this mean incompatibility between geronimo's activemq and
current axis2 jms implementation? Or do you have any idea how to go
around this. I did manage to have the axis2 jms listener up working
within geronimo server.
falom
2007-1-20 21:37:26
org.apache.axis2.transport.jms.JMSOutTransportInfo handleException
error: Cannot get JMS Connection factory with props :
{java.naming.provider.url=tcp://localhost:61616,
java.naming.factory.initial=org.activemq.jndi.ActiveMQInitialContextFa
ctory, transport.jms.ConnectionFactoryJNDIName=java:comp/env/jms/
myQueueConnectionFactory}
javax.naming.NamingException: scheme java not recognized
at org.activemq.jndi.ReadOnlyContext.lookup
(ReadOnlyContext.java:198)
at javax.naming.InitialContext.lookup(Unknown Source)
at
org.apache.axis2.transport.jms.JMSOutTransportInfo.getConnectionFactor
y(JMSOutTransportInfo.java:85)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.<init>
(JMSOutTransportInfo.java:69)
at org.apache.axis2.transport.jms.JMSSender.invoke
(JMSSender.java:66)
at org.apache.axis2.engine.AxisEngine
$TransportNonBlockingInvocationWorker.run(AxisEngine.java:746)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Unknown Source)
2007-1-20 21:37:26 org.apache.axis2.engine.AxisEngine
$TransportNonBlockingInvocationWorker run
info: Cannot get JMS Connection factory with props :
{java.naming.provider.url=tcp://localhost:61616,
java.naming.factory.initial=org.activemq.jndi.ActiveMQInitialContextFa
ctory, transport.jms.ConnectionFactoryJNDIName=java:comp/env/jms/
myQueueConnectionFactory}
C:\Axis2_1.1\axis2-1.1\samples\Axis2JmsWorkingSample2
\client_repository
2007-1-20 21:37:29 org.apache.axis2.deployment.DeploymentEngine
doDeploy
info: Deploying module : addressing-1.1
2007-1-20 21:37:29
org.apache.axis2.transport.jms.JMSOutTransportInfo handleException
error: Cannot get JMS Connection factory with props :
{java.naming.provider.url=tcp://localhost:61616,
java.naming.factory.initial=org.activemq.jndi.ActiveMQInitialContextFa
ctory, transport.jms.ConnectionFactoryJNDIName=java:comp/env/jms/
myQueueConnectionFactory}
javax.naming.NamingException: scheme java not recognized
at org.activemq.jndi.ReadOnlyContext.lookup
(ReadOnlyContext.java:198)
at javax.naming.InitialContext.lookup(Unknown Source)
at
org.apache.axis2.transport.jms.JMSOutTransportInfo.getConnectionFactor
y(JMSOutTransportInfo.java:85)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.<init>
(JMSOutTransportInfo.java:69)
at org.apache.axis2.transport.jms.JMSSender.invoke
(JMSSender.java:66)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:670)
at org.apache.axis2.description.OutInAxisOperationClient.send
(OutInAxisOperation.java:365)
at org.apache.axis2.description.OutInAxisOperationClient
$NonBlockingInvocationWorker.run(OutInAxisOperation.java:444)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Unknown Source)
2007-1-20 21:37:29 org.apache.axis2.jms2.JMSActiveEchoClient$1 onError
info: Cannot get JMS Connection factory with props :
{java.naming.provider.url=tcp://localhost:61616,
java.naming.factory.initial=org.activemq.jndi.ActiveMQInitialContextFa
ctory, transport.jms.ConnectionFactoryJNDIName=java:comp/env/jms/
myQueueConnectionFactory}
2007-1-20 21:37:30 org.apache.axis2.deployment.DeploymentEngine
doDeploy
info: Deploying module : addressing-1.1
C:\Axis2_1.1\axis2-1.1\samples\Axis2JmsWorkingSample2
\client_repository
2007-1-20 21:37:30
org.apache.axis2.transport.jms.JMSOutTransportInfo handleException
error: Cannot get JMS Connection factory with props :
{java.naming.provider.url=tcp://localhost:61616,
java.naming.factory.initial=org.activemq.jndi.ActiveMQInitialContextFa
ctory, transport.jms.ConnectionFactoryJNDIName=java:comp/env/jms/
myQueueConnectionFactory}
javax.naming.NamingException: scheme java not recognized
at org.activemq.jndi.ReadOnlyContext.lookup
(ReadOnlyContext.java:198)
at javax.naming.InitialContext.lookup(Unknown Source)
at
org.apache.axis2.transport.jms.JMSOutTransportInfo.getConnectionFactor
y(JMSOutTransportInfo.java:85)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.<init>
(JMSOutTransportInfo.java:69)
at org.apache.axis2.transport.jms.JMSSender.invoke
(JMSSender.java:66)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:670)
at org.apache.axis2.description.OutInAxisOperationClient.send
(OutInAxisOperation.java:365)
at org.apache.axis2.description.OutInAxisOperationClient.execute
(OutInAxisOperation.java:295)
at org.apache.axis2.client.ServiceClient.sendReceive
(ServiceClient.java:579)
at org.apache.axis2.client.ServiceClient.sendReceive
(ServiceClient.java:508)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking
(RPCServiceClient.java:95)
at org.apache.axis2.jms2.JMSActiveEchoClient.test03EchoString
(JMSActiveEchoClient.java:249)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:228)
at junit.framework.TestSuite.run(TestSuite.java:223)
at org.junit.internal.runners.OldTestClassRunner.run
(OldTestClassRunner.java:35)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)
Lin Sun <[EMAIL PROTECTED]> wrote:
Hi there, you can look at the jms and mdb sample that comes w/
geronimo 1.1 doc - http://cwiki.apache.org/GMOxDOC11/jms-and-mdb-
sample-application.html. Also I think the daytrader sample also
uses the resource-ref and message-destination-ref you mentioned.
HTH, Lin
________________________________________
From: falom [mailto:[EMAIL PROTECTED]
Sent: Friday, January 19, 2007 10:01 PM
To: [email protected]
Subject: [geronimo1.1.1] Re: Re: Axis2 war classloader
ClassNotFoundException
Hi Lin,
Big thanks for the tip, it worked after a bit struggling with all
the resource config in both geronimo and axis2. I will test now to
see if axis2 client can call and get response from the server. BTW,
do you know a good place to read more about all the ejb config
parameters like following:
jms/myQueueConnectionFactory
javax.jms.QueueConnectionFactory
Container
Shareable
jms/myQueue
javax.jms.Queue
Produces
myQueue
falom
Lin Sun wrote:
Hi there, I haven't tried to configure this myself but wonder if
you can fix this by creating a Geronimo-web.xml for the axis2 war
file. In the Geronimo-web.xml file, you can specify the activemq
broker as the dependency of the axis2 war to request the classloder
to make the activemq broker avail for the axis2 war.
HTH Lin
________________________________________
From: falom [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 18, 2007 9:36 PM
To: [email protected]
Subject: [geronimo1.1.1] Axis2 war classloader ClassNotFoundException
Hi,
I installed axis2 war in both tomcat and geronimo.
First I managed to test axis2 jms transport in tomcat connecting to
standalone activemq broker by deploying one service using
servicelifecycle to start up the jmslistener.
BUT when i deploy the same service in geronimo, while trying
connect to the activemq broker within geronimo, i got following
exception attached, seems like problem related to classloader, or
something else which i am really stuck with. I also reconfigured
axis2 listener to use
org.activemq.jndi.ActiveMQInitialContextFactory instead of
org.apache.activemq.jndi.ActiveMQInitialContextFactory, but same
exception.
I really need some clue what i do wrong, or how to go around this
classloading issue.
falom
22:46:30,709 INFO [JMSActiveEchoServiceLifeCycle]
JMSActiveEchoServiceLifeCycle startUp called.
22:46:30,719 ERROR [JMSListener] Error connecting to JMS connection
factory : TopicConnectionFactory
javax.naming.NoInitialContextException: Cannot instantiate class:
org.apache.activemq.jndi.ActiveMQInitialContextFactory [Root
exception is java.lang.ClassNotFoundException:
org.apache.activemq.jndi.ActiveMQInitialContextFactory in
classloader default/axis211/1164548268298/war]
at javax.naming.spi.NamingManager.getInitialContext
(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx
(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.(InitialContext.java:197)
at
org.apache.axis2.transport.jms.JMSConnectionFactory.createInitialConte
xt(JMSConnectionFactory.java:133)
at org.apache.axis2.transport.jms.JMSConnectionFactory.connect
(JMSConnectionFactory.java:122)
at
org.apache.axis2.transport.jms.JMSListener.initializeConnectionFactori
es(JMSListener.java:244)
at org.apache.axis2.transport.jms.JMSListener.init(JMSListener.java:
104)
at org.apache.axis2.jms2.JMSActiveEchoServiceLifeCycle.startUp
(JMSActiveEchoServiceLifeCycle.java:56)
at
org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass
(ServiceBuilder.java:354)
at org.apache.axis2.deployment.ServiceBuilder.populateService
(ServiceBuilder.java:136)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.buildService
Group(ArchiveReader.java:91)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.processServi
ceGroup(ArchiveReader.java:133)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy
(DeploymentEngine.java:528)
at org.apache.axis2.deployment.repository.util.WSInfoList.update
(WSInfoList.java:196)
at org.apache.axis2.deployment.RepositoryListener.update
(RepositoryListener.java:227)
at org.apache.axis2.deployment.RepositoryListener.checkServices
(RepositoryListener.java:174)
at org.apache.axis2.deployment.DeploymentEngine.loadServices
(DeploymentEngine.java:88)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices
(WarBasedAxisConfigurator.java:252)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurati
onContext(ConfigurationContextFactory.java:72)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext
(AxisServlet.java:373)
at org.apache.axis2.transport.http.AxisServlet.init
(AxisServlet.java:317)
at org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.java:1105)
at org.apache.catalina.core.StandardWrapper.load
(StandardWrapper.java:932)
at org.apache.catalina.core.StandardContext.loadOnStartup
(StandardContext.java:3915)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4176)
at org.apache.geronimo.tomcat.GeronimoStandardContext.access$201
(GeronimoStandardContext.java:67)
at org.apache.geronimo.tomcat.GeronimoStandardContext
$SystemMethodValve.invoke(GeronimoStandardContext.java:337)
at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
(GeronimoBeforeAfterValve.java:31)
at org.apache.geronimo.tomcat.GeronimoStandardContext.start
(GeronimoStandardContext.java:192)
at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
524)
at org.apache.geronimo.tomcat.TomcatContainer.addContext
(TomcatContainer.java:313)
at org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$
$9370b073.invoke()
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:35)
at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$
$f3376869.addContext()
at org.apache.geronimo.tomcat.TomcatWebAppContext.doStart
(TomcatWebAppContext.java:438)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance
(GBeanInstance.java:981)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(
GBeanInstanceState.java:267)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start
(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive
(GBeanInstanceState.java:124)
at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive
(GBeanInstance.java:540)
at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean
(BasicKernel.java:379)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration
GBeans(ConfigurationUtil.java:374)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start
(KernelConfigurationManager.java:187)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf
iguration(SimpleConfigurationManager.java:527)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf
iguration(SimpleConfigurationManager.java:508)
at org.apache.geronimo.kernel.config.SimpleConfigurationManager$
$FastClassByCGLIB$$ce77a924.invoke()
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:35)
at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.apache.geronimo.kernel.config.EditableConfigurationManager$
$EnhancerByCGLIB$$d98215e2.startConfiguration()
at org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:297)
at org.apache.geronimo.system.main.Daemon.(Daemon.java:74)
at org.apache.geronimo.system.main.Daemon.main(Daemon.java:377)
________________________________________
抢注雅虎免费邮箱-3.5G容量,20M附件!
Mp3疯狂搜-新歌热歌高速下