You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by johper <ka...@hotmail.com> on 2006/08/30 16:32:30 UTC
JNDI and JBossMQ
Using SM in JBoss with newly built SAR, everythins workd/deploys fine as long
as ActiveMQ is the provider.
Now I would like to use JBoss-MQ from "within" SM. Changed my JMS-endpoints
from using local ActiveMQ factories to JNDI lookups for resources in JBoss.
But SM does not like my JMS-endpoints?
When SM runs inside JBoss is JBoss JNDI tree accessible from my
service-assemblies? JBossMQ factory has remote and local JNDI names, should
I try the local one instead, since both SM/JBoss runs in same VM?
This is what I am trying to do in my xbean file:
<jms:endpoint service="b:jms" endpoint="jms"
role="provider"
soap="true"
destinationStyle="queue"
initialContextFactory="org.jnp.interfaces.NamingContextFactory"
jndiProviderURL="localhost"
jndiDestinationName="queue/myoutput"
jndiConnectionFactoryName="ConnectionFactory" />
<jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
targetService="c:final"
role="consumer"
soap="true"
soapVersion="1.1"
destinationStyle="queue"
initialContextFactory="org.jnp.interfaces.NamingContextFactory"
jndiProviderURL="localhost"
jndiDestinationName="queue/myinput"
jndiConnectionFactoryName="ConnectionFactory"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
In between there is an MDB in JBoss acting as the bridge..
TIA
Johan
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6060200
Sent from the ServiceMix - User forum at Nabble.com.
Re: JNDI and JBossMQ
Posted by johper <ka...@hotmail.com>.
Thanks I will try this tomorrow! So we should use local jndi
names..."java:/XXX"..
Martin Landua wrote:
>
> We've been pretty successful with the following configuration (see below).
> Please note that you might need the latest snapshot.
>
> <jms:endpoints>
> <jms:endpoint service="foo:jmsSender"
> endpoint="endpoint" role="provider" destinationStyle="queue"
> processorName="jca" jndiDestinationName="queue/testQueue"
> jndiConnectionFactoryName="java:/JmsXA" />
> </jms:endpoints>
>
> and here is the consumer:
>
> <jms:endpoint service="foo:inputReceiver"
> targetService="foo:rdbmsSender" endpoint="endpoint"
> role="consumer" processorName="jca"
> bootstrapContext="#bootstrapContext"
> resourceAdapter="#jbossMQResourceAdapter"
> connectionFactory="#managedJmsFactory"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
> synchronous="true">
> <jms:activationSpec>
> <bean
> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
> <property name="destination"
> value="queue/testQueue" />
> <property name="destinationType"
> value="javax.jms.Queue" />
> </bean>
> </jms:activationSpec>
> </jms:endpoint>
>
> for which you will need the following references in your xbean file:
>
> <bean id="bootstrapContext"
> class="org.jencks.factory.BootstrapContextFactoryBean">
> <property name="threadPoolSize" value="25" />
> </bean>
>
> <bean id="jbossMQResourceAdapter"
> class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
> singleton="true">
> </bean>
>
> <bean id="managedJmsFactory"
> class="org.springframework.jndi.JndiObjectFactoryBean">
> <property name="jndiName">
> <value>java:/JmsXA</value>
> </property>
> </bean>
>
> Be sure to use the Connection Factory java:/JmsXA since this is the one,
> which supports XA transactions if required.
>
> Best regards
> Martin
>
>
>
> johper wrote:
>>
>> Using SM in JBoss with newly built SAR, everythins workd/deploys fine as
>> long as ActiveMQ is the provider.
>> Now I would like to use JBoss-MQ from "within" SM. Changed my
>> JMS-endpoints from using local ActiveMQ factories to JNDI lookups for
>> resources in JBoss. But SM does not like my JMS-endpoints?
>> When SM runs inside JBoss is JBoss JNDI tree accessible from my
>> service-assemblies? JBossMQ factory has remote and local JNDI names,
>> should I try the local one instead, since both SM/JBoss runs in same
>> VM?
>>
>> This is what I am trying to do in my xbean file:
>>
>> <jms:endpoint service="b:jms" endpoint="jms"
>> role="provider"
>> soap="true"
>> destinationStyle="queue"
>>
>> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> jndiProviderURL="localhost"
>> jndiDestinationName="queue/myoutput"
>> jndiConnectionFactoryName="ConnectionFactory" />
>>
>> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
>> targetService="c:final"
>> role="consumer"
>> soap="true"
>> soapVersion="1.1"
>> destinationStyle="queue"
>>
>> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> jndiProviderURL="localhost"
>> jndiDestinationName="queue/myinput"
>> jndiConnectionFactoryName="ConnectionFactory"
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
>>
>> In between there is an MDB in JBoss acting as the bridge..
>>
>> TIA
>> Johan
>>
>>
>
>
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6066386
Sent from the ServiceMix - User forum at Nabble.com.
Re: JNDI and JBossMQ
Posted by johper <ka...@hotmail.com>.
That was the trick!! Now it works, really great, thanks a lot !!!
/Johan
gnodet wrote:
>
> Try the following:
>
> <plugin>
> <groupId>org.apache.servicemix.tooling</groupId>
> <artifactId>jbi-maven-plugin</artifactId>
> <extensions>true</extensions>
> <configuration>
>
> <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
> </configuration>
> </plugin>
>
> On 9/1/06, johper <ka...@hotmail.com> wrote:
>>
>>
>>
>> By the way I dont know where to put the flags use mentioned? Tried this
>> in
>> my pom.xml (no luck):
>> <build>
>> <plugins>
>> <plugin>
>> <generateJbiDescriptor>false</generateJbiDescriptor>
>> <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
>> <groupId>org.apache.servicemix.tooling</groupId>
>> <artifactId>jbi-maven-plugin</artifactId>
>> <extensions>true</extensions>
>> </plugin>
>> </plugins>
>> </build>
>> =======================================
>>
>> gnodet wrote:
>> >
>> > You can set the <generateJbiDescriptor>false</generateJbiDescriptor>
>> > parameter on the jbi-maven-plugin to disable SU jbi.xml generation.
>> >
>> > You can also disable the SU analyze by setting the
>> > <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
>> > configuration element.
>> >
>> > Also, the error comes from a maybe invalid jndiName.
>> > It seems it should be a uri and have a protocol and can
>> > not just be "ConnectionFactory".
>> >
>> > On 8/31/06, johper <ka...@hotmail.com> wrote:
>> >>
>> >>
>> >> After adding Maven artifact id's for jboss stuff I am getting this:
>> >> [INFO]
>> >>
>> ------------------------------------------------------------------------
>> >> [ERROR] BUILD ERROR
>> >> [INFO]
>> >>
>> ------------------------------------------------------------------------
>> >> [INFO] Failed to generate jbi.xml
>> >>
>> >> Embedded error: Unable to generate service unit descriptor!
>> >> no protocol: and
>> >> [INFO]
>> >>
>> ------------------------------------------------------------------------
>> >> [INFO] Trace
>> >> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
>> >> generate
>> >> jbi.x
>> >> ml
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
>> >> ultLifecycleExecutor.java:559)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
>> >> fecycle(DefaultLifecycleExecutor.java:475)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
>> >> ltLifecycleExecutor.java:454)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
>> >> dleFailures(DefaultLifecycleExecutor.java:306)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
>> >> ts(DefaultLifecycleExecutor.java:273)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
>> >> fecycleExecutor.java:140)
>> >> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java
>> :322)
>> >> at
>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>> >> at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> at
>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>> >> java:39)
>> >> at
>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>> >> sorImpl.java:25)
>> >> at java.lang.reflect.Method.invoke(Method.java:585)
>> >> at
>> >> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>> >> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>> >> at
>> >> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>> >>
>> >> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> >> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
>> >> generate jb
>> >> i.xml
>> >> at
>> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> >> ojo.execute(GenerateServiceUnitDescriptorMojo.java:126)
>> >> at
>> >> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
>> >> nManager.java:412)
>> >> at
>> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
>> >> ultLifecycleExecutor.java:534)
>> >> ... 16 more
>> >> Caused by: org.apache.servicemix.maven.plugin.jbi.JbiPluginException:
>> >> Unable
>> >> to
>> >> generate service unit descriptor!
>> >> at
>> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> >> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:217)
>> >> at
>> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> >> ojo.execute(GenerateServiceUnitDescriptorMojo.java:124)
>> >> ... 18 more
>> >> Caused by: org.springframework.beans.factory.BeanCreationException:
>> Error
>> >> creati
>> >> ng bean with name 'bootstrapContext': FactoryBean threw exception on
>> >> object
>> >> crea
>> >> tion; nested exception is
>> >> org.springframework.beans.factory.BeanCreationExceptio
>> >> n: Error creating bean with name 'managedJmsFactory' defined in URL
>> >> [file:/D:/se
>> >> rvicemix-build/trunk/apache-servicemix/target/samples/bridge-
>> >> 3.0-incubating-SNAP
>> >> SHOT/bridge-jms-su/src/main/resources/xbean.xml]: Invocation of init
>> >> method
>> >> fail
>> >> ed; nested exception is javax.naming.CommunicationException [Root
>> >> exception
>> >> is j
>> >> ava.rmi.ServerException: RemoteException occurred in server thread;
>> >> nested
>> >> excep
>> >> tion is:
>> >> java.rmi.UnmarshalException: error unmarshalling arguments;
>> >> nested
>> >> excep
>> >> tion is:
>> >> java.net.MalformedURLException: no protocol: and]
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> >> ctFromFactoryBean(AbstractBeanFactory.java:919)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> >> ctForBeanInstance(AbstractBeanFactory.java:883)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> >> (AbstractBeanFactory.java:199)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> >> (AbstractBeanFactory.java:153)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> >> preInstantiateSingletons(DefaultListableBeanFactory.java:250)
>> >> at
>> >> org.springframework.context.support.AbstractApplicationContext.refres
>> >> h(AbstractApplicationContext.java:337)
>> >> at
>> >> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >> >(FileSystemXmlApplicationContext.java:149)
>> >> at
>> >> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >> >(FileSystemXmlApplicationContext.java:48)
>> >> at
>> >> org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i
>> >> nit(AbstractXBeanServiceUnitAnalyzer.java:79)
>> >> at
>> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> >> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:204)
>> >> ... 19 more
>> >> Caused by: org.springframework.beans.factory.BeanCreationException:
>> Error
>> >> creati
>> >> ng bean with name 'managedJmsFactory' defined in URL
>> >> [file:/D:/servicemix-build/
>> >> trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAPSHOT
>> >> /bridge-jms
>> >> -su/src/main/resources/xbean.xml]: Invocation of init method failed;
>> >> nested
>> >> exce
>> >> ption is javax.naming.CommunicationException [Root exception is
>> >> java.rmi.ServerE
>> >> xception: RemoteException occurred in server thread; nested exception
>> is:
>> >> java.rmi.UnmarshalException: error unmarshalling arguments;
>> >> nested
>> >> excep
>> >> tion is:
>> >> java.net.MalformedURLException: no protocol: and]
>> >> at
>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> >> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:878)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> >> Factory.createBean(AbstractAutowireCapableBeanFactory.java:396)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
>> >> ject(AbstractBeanFactory.java:240)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
>> >> y.getSingleton(DefaultSingletonBeanRegistry.java:132)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> >> (AbstractBeanFactory.java:237)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> >> (AbstractBeanFactory.java:153)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getType
>> >> (AbstractBeanFactory.java:377)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> >> isBeanTypeMatch(DefaultListableBeanFactory.java:228)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> >> getBeanNamesForType(DefaultListableBeanFactory.java:141)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> >> getBeansOfType(DefaultListableBeanFactory.java:194)
>> >> at
>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> >> getBeansOfType(DefaultListableBeanFactory.java:188)
>> >> at
>> >> org.springframework.context.support.AbstractApplicationContext.getBea
>> >> nsOfType(AbstractApplicationContext.java:661)
>> >> at
>> >> org.jencks.factory.WorkManagerFactoryBean.getTransactionContextManage
>> >> r(WorkManagerFactoryBean.java:92)
>> >> at
>> >> org.jencks.factory.WorkManagerFactoryBean.createWorkManager(WorkManag
>> >> erFactoryBean.java:196)
>> >> at
>> >> org.jencks.factory.WorkManagerFactoryBean.getWorkManager(WorkManagerF
>> >> actoryBean.java:84)
>> >> at
>> >> org.jencks.factory.BootstrapContextFactoryBean.getWorkManager(Bootstr
>> >> apContextFactoryBean.java:79)
>> >> at
>> >> org.jencks.factory.BootstrapContextFactoryBean.getObject(BootstrapCon
>> >> textFactoryBean.java:53)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> >> ctFromFactoryBean(AbstractBeanFactory.java:916)
>> >> ... 28 more
>> >> Caused by: javax.naming.CommunicationException [Root exception is
>> >> java.rmi.Serve
>> >> rException: RemoteException occurred in server thread; nested
>> exception
>> >> is:
>> >> java.rmi.UnmarshalException: error unmarshalling arguments;
>> >> nested
>> >> excep
>> >> tion is:
>> >> java.net.MalformedURLException: no protocol: and]
>> >> at
>> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
>> >> at
>> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
>> >> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>> >> at
>> >> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java
>> >> :124)
>> >> at
>> >> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)
>> >> at
>> >> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)
>> >> at
>> >> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)
>> >> at
>> >> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport
>> >> .java:86)
>> >> at
>> >> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.j
>> >> ava:101)
>> >> at
>> >> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(Jnd
>> >> iObjectFactoryBean.java:164)
>> >> at
>> >> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(Jnd
>> >> iObjectFactoryBean.java:151)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> >> Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:908)
>> >> at
>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> >> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:875)
>> >> ... 45 more
>> >> Caused by: java.rmi.ServerException: RemoteException occurred in
>> server
>> >> thread;
>> >> nested exception is:
>> >> java.rmi.UnmarshalException: error unmarshalling arguments;
>> >> nested
>> >> excep
>> >> tion is:
>> >> java.net.MalformedURLException: no protocol: and
>> >> at
>> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
>> >> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>> >> at java.security.AccessController.doPrivileged(Native Method)
>> >> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>> >> at
>> >> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
>> >> 66)
>> >> at
>> >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
>> >> .java:707)
>> >> at java.lang.Thread.run(Thread.java:595)
>> >> at
>> >> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
>> >> RemoteCall.java:247)
>> >> at
>> >> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:
>> >> 223)
>> >> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
>> >> at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
>> >> at
>> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
>> >> ... 57 more
>> >> Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
>> >> nested ex
>> >> ception is:
>> >> java.net.MalformedURLException: no protocol: and
>> >> at
>> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
>> >> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>> >> at java.security.AccessController.doPrivileged(Native Method)
>> >> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>> >> at
>> >> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
>> >> 66)
>> >> at
>> >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
>> >> .java:707)
>> >> at java.lang.Thread.run(Thread.java:595)
>> >> Caused by: java.net.MalformedURLException: no protocol: and
>> >> at java.net.URL.<init>(URL.java:567)
>> >> at java.net.URL.<init>(URL.java:464)
>> >> at java.net.URL.<init>(URL.java:413)
>> >> at
>> >> sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
>> >> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java
>> :147)
>> >> at
>> >> java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
>> >> at
>> >> org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.ja
>> >> va:91)
>> >> at
>> java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java
>> >> :247)
>> >> at
>> >> sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.jav
>> >> a:197)
>> >> at
>> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
>> >> 3)
>> >> at
>> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
>> >> at
>> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
>> >> 698)
>> >> at
>> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
>> >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
>> >> :349)
>> >> at javax.naming.CompoundName.readObject(CompoundName.java:554)
>> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> at
>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>> >> java:39)
>> >> at
>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>> >> sorImpl.java:25)
>> >> at java.lang.reflect.Method.invoke(Method.java:585)
>> >> at
>> >> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946
>> >> )
>> >> at
>> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1818)
>> >>
>> >> at
>> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
>> >> 718)
>> >> at
>> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
>> >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
>> >> :349)
>> >> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java
>> :290)
>> >> at
>> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
>> >> ... 6 more
>> >> [INFO]
>> >>
>> ------------------------------------------------------------------------
>> >> [INFO] Total time: 1 minute 29 seconds
>> >> ===============================================
>> >> This is my new xbean.xml file (temporarily lifted out my actual
>> enpoint
>> >> due
>> >> to error in factory creation):
>> >>
>> >> <?xml version="1.0" encoding="UTF-8"?>
>> >> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
>> >> xmlns:b="http://servicemix.apache.org/samples/bridge"
>> >> xmlns:c="http://servicemix.apache.org/samples/final"
>> >> xmlns:h="http://servicemix.apache.org/samples/hammer">
>> >>
>> >> <bean id="bootstrapContext"
>> >>
>> class="org.jencks.factory.BootstrapContextFactoryBean">
>> >> <property name="threadPoolSize" value="25" />
>> >> </bean>
>> >> <bean id="jbossMQResourceAdapter"
>> >> class="
>> org.jboss.resource.adapter.jms.JmsResourceAdapter"
>> >> singleton="true">
>> >> <property name="serverUrl" value="tcp://localhost:1099"
>> />
>> >> </bean>
>> >> <bean id="jbossJndiTemplate"
>> >> class="org.springframework.jndi.JndiTemplate">
>> >> <property name="environment">
>> >> <props>
>> >> <prop
>> >> key="java.naming.factory.initial">
>> org.jnp.interfaces.NamingContextFactory
>> >> </prop>
>> >> <prop key="java.naming.provider.url
>> >> ">jnp://localhost:1099</prop>
>> >> <prop
>> >> key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces
>> >> </prop>
>> >> </props>
>> >> </property>
>> >> </bean>
>> >> <bean id="managedJmsFactory"
>> >> class="org.springframework.jndi.JndiObjectFactoryBean">
>> >> <property name="jndiTemplate"><ref
>> >> bean="jbossJndiTemplate"/></property>
>> >> <property
>> >> name="jndiName"><value>ConnectionFactory</value></property>
>> >> </bean>
>> >> </beans>
>> >>
>> >> ===============================================
>> >>
>> >> Martin Landua wrote:
>> >> >
>> >> > We've been pretty successful with the following configuration (see
>> >> below).
>> >> > Please note that you might need the latest snapshot.
>> >> >
>> >> > <jms:endpoints>
>> >> > <jms:endpoint
>> >> service="foo:jmsSender"
>> >> >
>> >> endpoint="endpoint" role="provider" destinationStyle="queue"
>> >> >
>> >> processorName="jca" jndiDestinationName="queue/testQueue"
>> >> >
>> >> jndiConnectionFactoryName="java:/JmsXA" />
>> >> > </jms:endpoints>
>> >> >
>> >> > and here is the consumer:
>> >> >
>> >> > <jms:endpoint
>> >> service="foo:inputReceiver"
>> >> >
>> >> targetService="foo:rdbmsSender" endpoint="endpoint"
>> >> >
>> >> role="consumer" processorName="jca"
>> >> >
>> >> bootstrapContext="#bootstrapContext"
>> >> >
>> >> resourceAdapter="#jbossMQResourceAdapter"
>> >> >
>> >> connectionFactory="#managedJmsFactory"
>> >> >
>> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
>> >> >
>> >> synchronous="true">
>> >> >
>> >> <jms:activationSpec>
>> >> >
>> >> <bean
>> >> >
>> >> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
>> >> >
>> >> <property name="destination"
>> >> >
>> >> value="queue/testQueue" />
>> >> >
>> >> <property name="destinationType"
>> >> >
>> >> value="javax.jms.Queue" />
>> >> >
>> >> </bean>
>> >> >
>> >> </jms:activationSpec>
>> >> >
>> </jms:endpoint>
>> >> >
>> >> > for which you will need the following references in your xbean file:
>> >> >
>> >> > <bean id="bootstrapContext"
>> >> >
>> class="org.jencks.factory.BootstrapContextFactoryBean">
>> >> > <property name="threadPoolSize" value="25" />
>> >> > </bean>
>> >> >
>> >> > <bean id="jbossMQResourceAdapter"
>> >> > class="
>> org.jboss.resource.adapter.jms.JmsResourceAdapter"
>> >> > singleton="true">
>> >> > </bean>
>> >> >
>> >> > <bean id="managedJmsFactory"
>> >> >
>> class="org.springframework.jndi.JndiObjectFactoryBean">
>> >> > <property name="jndiName">
>> >> > <value>java:/JmsXA</value>
>> >> > </property>
>> >> > </bean>
>> >> >
>> >> > Be sure to use the Connection Factory java:/JmsXA since this is the
>> >> one,
>> >> > which supports XA transactions if required.
>> >> >
>> >> > Best regards
>> >> > Martin
>> >> >
>> >> >
>> >> >
>> >> > johper wrote:
>> >> >>
>> >> >> Using SM in JBoss with newly built SAR, everythins workd/deploys
>> fine
>> >> as
>> >> >> long as ActiveMQ is the provider.
>> >> >> Now I would like to use JBoss-MQ from "within" SM. Changed my
>> >> >> JMS-endpoints from using local ActiveMQ factories to JNDI lookups
>> for
>> >> >> resources in JBoss. But SM does not like my JMS-endpoints?
>> >> >> When SM runs inside JBoss is JBoss JNDI tree accessible from my
>> >> >> service-assemblies? JBossMQ factory has remote and local JNDI
>> names,
>> >> >> should I try the local one instead, since both SM/JBoss runs in
>> same
>> >> >> VM?
>> >> >>
>> >> >> This is what I am trying to do in my xbean file:
>> >> >>
>> >> >> <jms:endpoint service="b:jms" endpoint="jms"
>> >> >> role="provider"
>> >> >> soap="true"
>> >> >> destinationStyle="queue"
>> >> >>
>> >> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> >> >> jndiProviderURL="localhost"
>> >> >> jndiDestinationName="queue/myoutput"
>> >> >> jndiConnectionFactoryName="ConnectionFactory" />
>> >> >>
>> >> >> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
>> >> >> targetService="c:final"
>> >> >> role="consumer"
>> >> >> soap="true"
>> >> >> soapVersion="1.1"
>> >> >> destinationStyle="queue"
>> >> >>
>> >> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> >> >> jndiProviderURL="localhost"
>> >> >> jndiDestinationName="queue/myinput"
>> >> >> jndiConnectionFactoryName="ConnectionFactory"
>> >> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
>> >> >>
>> >> >> In between there is an MDB in JBoss acting as the bridge..
>> >> >>
>> >> >> TIA
>> >> >> Johan
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6077054
>> >> Sent from the ServiceMix - User forum at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6094096
>> Sent from the ServiceMix - User forum at Nabble.com.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
>
>
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6096018
Sent from the ServiceMix - User forum at Nabble.com.
Re: JNDI and JBossMQ
Posted by Guillaume Nodet <gn...@gmail.com>.
Try the following:
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>jbi-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
</configuration>
</plugin>
On 9/1/06, johper <ka...@hotmail.com> wrote:
>
>
>
> By the way I dont know where to put the flags use mentioned? Tried this in
> my pom.xml (no luck):
> <build>
> <plugins>
> <plugin>
> <generateJbiDescriptor>false</generateJbiDescriptor>
> <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
> <groupId>org.apache.servicemix.tooling</groupId>
> <artifactId>jbi-maven-plugin</artifactId>
> <extensions>true</extensions>
> </plugin>
> </plugins>
> </build>
> =======================================
>
> gnodet wrote:
> >
> > You can set the <generateJbiDescriptor>false</generateJbiDescriptor>
> > parameter on the jbi-maven-plugin to disable SU jbi.xml generation.
> >
> > You can also disable the SU analyze by setting the
> > <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
> > configuration element.
> >
> > Also, the error comes from a maybe invalid jndiName.
> > It seems it should be a uri and have a protocol and can
> > not just be "ConnectionFactory".
> >
> > On 8/31/06, johper <ka...@hotmail.com> wrote:
> >>
> >>
> >> After adding Maven artifact id's for jboss stuff I am getting this:
> >> [INFO]
> >>
> ------------------------------------------------------------------------
> >> [ERROR] BUILD ERROR
> >> [INFO]
> >>
> ------------------------------------------------------------------------
> >> [INFO] Failed to generate jbi.xml
> >>
> >> Embedded error: Unable to generate service unit descriptor!
> >> no protocol: and
> >> [INFO]
> >>
> ------------------------------------------------------------------------
> >> [INFO] Trace
> >> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> >> generate
> >> jbi.x
> >> ml
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
> >> ultLifecycleExecutor.java:559)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
> >> fecycle(DefaultLifecycleExecutor.java:475)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
> >> ltLifecycleExecutor.java:454)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
> >> dleFailures(DefaultLifecycleExecutor.java:306)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
> >> ts(DefaultLifecycleExecutor.java:273)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
> >> fecycleExecutor.java:140)
> >> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java
> :322)
> >> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> >> at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> at
> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> >> java:39)
> >> at
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >> sorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> >> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> >> at
> >> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> >>
> >> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> >> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
> >> generate jb
> >> i.xml
> >> at
> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> >> ojo.execute(GenerateServiceUnitDescriptorMojo.java:126)
> >> at
> >> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
> >> nManager.java:412)
> >> at
> >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
> >> ultLifecycleExecutor.java:534)
> >> ... 16 more
> >> Caused by: org.apache.servicemix.maven.plugin.jbi.JbiPluginException:
> >> Unable
> >> to
> >> generate service unit descriptor!
> >> at
> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> >> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:217)
> >> at
> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> >> ojo.execute(GenerateServiceUnitDescriptorMojo.java:124)
> >> ... 18 more
> >> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error
> >> creati
> >> ng bean with name 'bootstrapContext': FactoryBean threw exception on
> >> object
> >> crea
> >> tion; nested exception is
> >> org.springframework.beans.factory.BeanCreationExceptio
> >> n: Error creating bean with name 'managedJmsFactory' defined in URL
> >> [file:/D:/se
> >> rvicemix-build/trunk/apache-servicemix/target/samples/bridge-
> >> 3.0-incubating-SNAP
> >> SHOT/bridge-jms-su/src/main/resources/xbean.xml]: Invocation of init
> >> method
> >> fail
> >> ed; nested exception is javax.naming.CommunicationException [Root
> >> exception
> >> is j
> >> ava.rmi.ServerException: RemoteException occurred in server thread;
> >> nested
> >> excep
> >> tion is:
> >> java.rmi.UnmarshalException: error unmarshalling arguments;
> >> nested
> >> excep
> >> tion is:
> >> java.net.MalformedURLException: no protocol: and]
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> >> ctFromFactoryBean(AbstractBeanFactory.java:919)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> >> ctForBeanInstance(AbstractBeanFactory.java:883)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> >> (AbstractBeanFactory.java:199)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> >> (AbstractBeanFactory.java:153)
> >> at
> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> >> preInstantiateSingletons(DefaultListableBeanFactory.java:250)
> >> at
> >> org.springframework.context.support.AbstractApplicationContext.refres
> >> h(AbstractApplicationContext.java:337)
> >> at
> >> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
> >> >(FileSystemXmlApplicationContext.java:149)
> >> at
> >> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
> >> >(FileSystemXmlApplicationContext.java:48)
> >> at
> >> org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i
> >> nit(AbstractXBeanServiceUnitAnalyzer.java:79)
> >> at
> >> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> >> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:204)
> >> ... 19 more
> >> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error
> >> creati
> >> ng bean with name 'managedJmsFactory' defined in URL
> >> [file:/D:/servicemix-build/
> >> trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAPSHOT
> >> /bridge-jms
> >> -su/src/main/resources/xbean.xml]: Invocation of init method failed;
> >> nested
> >> exce
> >> ption is javax.naming.CommunicationException [Root exception is
> >> java.rmi.ServerE
> >> xception: RemoteException occurred in server thread; nested exception
> is:
> >> java.rmi.UnmarshalException: error unmarshalling arguments;
> >> nested
> >> excep
> >> tion is:
> >> java.net.MalformedURLException: no protocol: and]
> >> at
> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> >> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:878)
> >> at
> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> >> Factory.createBean(AbstractAutowireCapableBeanFactory.java:396)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
> >> ject(AbstractBeanFactory.java:240)
> >> at
> >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
> >> y.getSingleton(DefaultSingletonBeanRegistry.java:132)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> >> (AbstractBeanFactory.java:237)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> >> (AbstractBeanFactory.java:153)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getType
> >> (AbstractBeanFactory.java:377)
> >> at
> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> >> isBeanTypeMatch(DefaultListableBeanFactory.java:228)
> >> at
> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> >> getBeanNamesForType(DefaultListableBeanFactory.java:141)
> >> at
> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> >> getBeansOfType(DefaultListableBeanFactory.java:194)
> >> at
> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> >> getBeansOfType(DefaultListableBeanFactory.java:188)
> >> at
> >> org.springframework.context.support.AbstractApplicationContext.getBea
> >> nsOfType(AbstractApplicationContext.java:661)
> >> at
> >> org.jencks.factory.WorkManagerFactoryBean.getTransactionContextManage
> >> r(WorkManagerFactoryBean.java:92)
> >> at
> >> org.jencks.factory.WorkManagerFactoryBean.createWorkManager(WorkManag
> >> erFactoryBean.java:196)
> >> at
> >> org.jencks.factory.WorkManagerFactoryBean.getWorkManager(WorkManagerF
> >> actoryBean.java:84)
> >> at
> >> org.jencks.factory.BootstrapContextFactoryBean.getWorkManager(Bootstr
> >> apContextFactoryBean.java:79)
> >> at
> >> org.jencks.factory.BootstrapContextFactoryBean.getObject(BootstrapCon
> >> textFactoryBean.java:53)
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> >> ctFromFactoryBean(AbstractBeanFactory.java:916)
> >> ... 28 more
> >> Caused by: javax.naming.CommunicationException [Root exception is
> >> java.rmi.Serve
> >> rException: RemoteException occurred in server thread; nested exception
> >> is:
> >> java.rmi.UnmarshalException: error unmarshalling arguments;
> >> nested
> >> excep
> >> tion is:
> >> java.net.MalformedURLException: no protocol: and]
> >> at
> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
> >> at
> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
> >> at javax.naming.InitialContext.lookup(InitialContext.java:351)
> >> at
> >> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java
> >> :124)
> >> at
> >> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)
> >> at
> >> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)
> >> at
> >> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)
> >> at
> >> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport
> >> .java:86)
> >> at
> >> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.j
> >> ava:101)
> >> at
> >> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(Jnd
> >> iObjectFactoryBean.java:164)
> >> at
> >> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(Jnd
> >> iObjectFactoryBean.java:151)
> >> at
> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> >> Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:908)
> >> at
> >> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> >> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:875)
> >> ... 45 more
> >> Caused by: java.rmi.ServerException: RemoteException occurred in server
> >> thread;
> >> nested exception is:
> >> java.rmi.UnmarshalException: error unmarshalling arguments;
> >> nested
> >> excep
> >> tion is:
> >> java.net.MalformedURLException: no protocol: and
> >> at
> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
> >> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> >> at java.security.AccessController.doPrivileged(Native Method)
> >> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> >> at
> >> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> >> 66)
> >> at
> >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> >> .java:707)
> >> at java.lang.Thread.run(Thread.java:595)
> >> at
> >> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
> >> RemoteCall.java:247)
> >> at
> >> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:
> >> 223)
> >> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
> >> at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
> >> at
> >> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
> >> ... 57 more
> >> Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
> >> nested ex
> >> ception is:
> >> java.net.MalformedURLException: no protocol: and
> >> at
> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
> >> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> >> at java.security.AccessController.doPrivileged(Native Method)
> >> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> >> at
> >> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> >> 66)
> >> at
> >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> >> .java:707)
> >> at java.lang.Thread.run(Thread.java:595)
> >> Caused by: java.net.MalformedURLException: no protocol: and
> >> at java.net.URL.<init>(URL.java:567)
> >> at java.net.URL.<init>(URL.java:464)
> >> at java.net.URL.<init>(URL.java:413)
> >> at
> >> sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
> >> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java
> :147)
> >> at
> >> java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
> >> at
> >> org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.ja
> >> va:91)
> >> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java
> >> :247)
> >> at
> >> sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.jav
> >> a:197)
> >> at
> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
> >> 3)
> >> at
> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
> >> at
> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
> >> 698)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
> >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
> >> :349)
> >> at javax.naming.CompoundName.readObject(CompoundName.java:554)
> >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> at
> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> >> java:39)
> >> at
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >> sorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946
> >> )
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1818)
> >>
> >> at
> >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
> >> 718)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
> >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
> >> :349)
> >> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java
> :290)
> >> at
> >> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
> >> ... 6 more
> >> [INFO]
> >>
> ------------------------------------------------------------------------
> >> [INFO] Total time: 1 minute 29 seconds
> >> ===============================================
> >> This is my new xbean.xml file (temporarily lifted out my actual enpoint
> >> due
> >> to error in factory creation):
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
> >> xmlns:b="http://servicemix.apache.org/samples/bridge"
> >> xmlns:c="http://servicemix.apache.org/samples/final"
> >> xmlns:h="http://servicemix.apache.org/samples/hammer">
> >>
> >> <bean id="bootstrapContext"
> >> class="org.jencks.factory.BootstrapContextFactoryBean">
> >> <property name="threadPoolSize" value="25" />
> >> </bean>
> >> <bean id="jbossMQResourceAdapter"
> >> class="
> org.jboss.resource.adapter.jms.JmsResourceAdapter"
> >> singleton="true">
> >> <property name="serverUrl" value="tcp://localhost:1099" />
> >> </bean>
> >> <bean id="jbossJndiTemplate"
> >> class="org.springframework.jndi.JndiTemplate">
> >> <property name="environment">
> >> <props>
> >> <prop
> >> key="java.naming.factory.initial">
> org.jnp.interfaces.NamingContextFactory
> >> </prop>
> >> <prop key="java.naming.provider.url
> >> ">jnp://localhost:1099</prop>
> >> <prop
> >> key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces
> >> </prop>
> >> </props>
> >> </property>
> >> </bean>
> >> <bean id="managedJmsFactory"
> >> class="org.springframework.jndi.JndiObjectFactoryBean">
> >> <property name="jndiTemplate"><ref
> >> bean="jbossJndiTemplate"/></property>
> >> <property
> >> name="jndiName"><value>ConnectionFactory</value></property>
> >> </bean>
> >> </beans>
> >>
> >> ===============================================
> >>
> >> Martin Landua wrote:
> >> >
> >> > We've been pretty successful with the following configuration (see
> >> below).
> >> > Please note that you might need the latest snapshot.
> >> >
> >> > <jms:endpoints>
> >> > <jms:endpoint
> >> service="foo:jmsSender"
> >> >
> >> endpoint="endpoint" role="provider" destinationStyle="queue"
> >> >
> >> processorName="jca" jndiDestinationName="queue/testQueue"
> >> >
> >> jndiConnectionFactoryName="java:/JmsXA" />
> >> > </jms:endpoints>
> >> >
> >> > and here is the consumer:
> >> >
> >> > <jms:endpoint
> >> service="foo:inputReceiver"
> >> >
> >> targetService="foo:rdbmsSender" endpoint="endpoint"
> >> >
> >> role="consumer" processorName="jca"
> >> >
> >> bootstrapContext="#bootstrapContext"
> >> >
> >> resourceAdapter="#jbossMQResourceAdapter"
> >> >
> >> connectionFactory="#managedJmsFactory"
> >> >
> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
> >> >
> >> synchronous="true">
> >> >
> >> <jms:activationSpec>
> >> >
> >> <bean
> >> >
> >> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
> >> >
> >> <property name="destination"
> >> >
> >> value="queue/testQueue" />
> >> >
> >> <property name="destinationType"
> >> >
> >> value="javax.jms.Queue" />
> >> >
> >> </bean>
> >> >
> >> </jms:activationSpec>
> >> > </jms:endpoint>
> >> >
> >> > for which you will need the following references in your xbean file:
> >> >
> >> > <bean id="bootstrapContext"
> >> > class="org.jencks.factory.BootstrapContextFactoryBean">
> >> > <property name="threadPoolSize" value="25" />
> >> > </bean>
> >> >
> >> > <bean id="jbossMQResourceAdapter"
> >> > class="
> org.jboss.resource.adapter.jms.JmsResourceAdapter"
> >> > singleton="true">
> >> > </bean>
> >> >
> >> > <bean id="managedJmsFactory"
> >> > class="org.springframework.jndi.JndiObjectFactoryBean">
> >> > <property name="jndiName">
> >> > <value>java:/JmsXA</value>
> >> > </property>
> >> > </bean>
> >> >
> >> > Be sure to use the Connection Factory java:/JmsXA since this is the
> >> one,
> >> > which supports XA transactions if required.
> >> >
> >> > Best regards
> >> > Martin
> >> >
> >> >
> >> >
> >> > johper wrote:
> >> >>
> >> >> Using SM in JBoss with newly built SAR, everythins workd/deploys
> fine
> >> as
> >> >> long as ActiveMQ is the provider.
> >> >> Now I would like to use JBoss-MQ from "within" SM. Changed my
> >> >> JMS-endpoints from using local ActiveMQ factories to JNDI lookups
> for
> >> >> resources in JBoss. But SM does not like my JMS-endpoints?
> >> >> When SM runs inside JBoss is JBoss JNDI tree accessible from my
> >> >> service-assemblies? JBossMQ factory has remote and local JNDI names,
> >> >> should I try the local one instead, since both SM/JBoss runs in
> same
> >> >> VM?
> >> >>
> >> >> This is what I am trying to do in my xbean file:
> >> >>
> >> >> <jms:endpoint service="b:jms" endpoint="jms"
> >> >> role="provider"
> >> >> soap="true"
> >> >> destinationStyle="queue"
> >> >>
> >> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> >> >> jndiProviderURL="localhost"
> >> >> jndiDestinationName="queue/myoutput"
> >> >> jndiConnectionFactoryName="ConnectionFactory" />
> >> >>
> >> >> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
> >> >> targetService="c:final"
> >> >> role="consumer"
> >> >> soap="true"
> >> >> soapVersion="1.1"
> >> >> destinationStyle="queue"
> >> >>
> >> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> >> >> jndiProviderURL="localhost"
> >> >> jndiDestinationName="queue/myinput"
> >> >> jndiConnectionFactoryName="ConnectionFactory"
> >> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
> >> >>
> >> >> In between there is an MDB in JBoss acting as the bridge..
> >> >>
> >> >> TIA
> >> >> Johan
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6077054
> >> Sent from the ServiceMix - User forum at Nabble.com.
> >>
> >>
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6094096
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: JNDI and JBossMQ
Posted by johper <ka...@hotmail.com>.
this is snippet from my standalone java-application connectig to jboss using
remote jndi name "ConnectionFactory" :
QueueConnection cnn = null;QueueSender sender = null;
QueueSession session = null; InitialContext ctx = new
InitialContext();
Queue queue = (Queue) ctx.lookup("queue/myinput");
QueueConnectionFactory factory = (QueueConnectionFactory)
ctx.lookup("ConnectionFactory");
cnn = factory.createQueueConnection();
session = cnn.createQueueSession(false,
QueueSession.AUTO_ACKNOWLEDGE);
TextMessage msg = session.createTextMessage("HelloJBoss");
sender = session.createSender(queue);
sender.send(msg);
"ConnectionFactory" is the remote name for getting a factory from JBoss, but
if you sit in the same VM you should be able to solve lookup with local jndi
name "java:/JmsXA" ? Is JNDI-tree in Jboss accessible for ServiceMix running
inside JBoss with SM-SAR strategy?
If you can explain all steps and components involved for getting this to
work, would be great.
The component "servicemix-jms" with xbean notation seems to have it all
(jndiXX properties etc etc), but as far as I understand (newbe:-) you also
need something from "servicemix-lwcontainer" ?
Funny thing to note is that my ActiveMQ with component "servicemix-jms"
works very well, when comsuner/provider is in JBoss I have no luck.
By the way I dont know where to put the flags use mentioned? Tried this in
my pom.xml (no luck):
<build>
<plugins>
<plugin>
<generateJbiDescriptor>false</generateJbiDescriptor>
<useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>jbi-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
=======================================
gnodet wrote:
>
> You can set the <generateJbiDescriptor>false</generateJbiDescriptor>
> parameter on the jbi-maven-plugin to disable SU jbi.xml generation.
>
> You can also disable the SU analyze by setting the
> <useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
> configuration element.
>
> Also, the error comes from a maybe invalid jndiName.
> It seems it should be a uri and have a protocol and can
> not just be "ConnectionFactory".
>
> On 8/31/06, johper <ka...@hotmail.com> wrote:
>>
>>
>> After adding Maven artifact id's for jboss stuff I am getting this:
>> [INFO]
>> ------------------------------------------------------------------------
>> [ERROR] BUILD ERROR
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Failed to generate jbi.xml
>>
>> Embedded error: Unable to generate service unit descriptor!
>> no protocol: and
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Trace
>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
>> generate
>> jbi.x
>> ml
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
>> ultLifecycleExecutor.java:559)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
>> fecycle(DefaultLifecycleExecutor.java:475)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
>> ltLifecycleExecutor.java:454)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
>> dleFailures(DefaultLifecycleExecutor.java:306)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
>> ts(DefaultLifecycleExecutor.java:273)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
>> fecycleExecutor.java:140)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>> java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>> sorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>> at
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>
>> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
>> generate jb
>> i.xml
>> at
>> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> ojo.execute(GenerateServiceUnitDescriptorMojo.java:126)
>> at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
>> nManager.java:412)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
>> ultLifecycleExecutor.java:534)
>> ... 16 more
>> Caused by: org.apache.servicemix.maven.plugin.jbi.JbiPluginException:
>> Unable
>> to
>> generate service unit descriptor!
>> at
>> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:217)
>> at
>> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> ojo.execute(GenerateServiceUnitDescriptorMojo.java:124)
>> ... 18 more
>> Caused by: org.springframework.beans.factory.BeanCreationException: Error
>> creati
>> ng bean with name 'bootstrapContext': FactoryBean threw exception on
>> object
>> crea
>> tion; nested exception is
>> org.springframework.beans.factory.BeanCreationExceptio
>> n: Error creating bean with name 'managedJmsFactory' defined in URL
>> [file:/D:/se
>> rvicemix-build/trunk/apache-servicemix/target/samples/bridge-
>> 3.0-incubating-SNAP
>> SHOT/bridge-jms-su/src/main/resources/xbean.xml]: Invocation of init
>> method
>> fail
>> ed; nested exception is javax.naming.CommunicationException [Root
>> exception
>> is j
>> ava.rmi.ServerException: RemoteException occurred in server thread;
>> nested
>> excep
>> tion is:
>> java.rmi.UnmarshalException: error unmarshalling arguments;
>> nested
>> excep
>> tion is:
>> java.net.MalformedURLException: no protocol: and]
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> ctFromFactoryBean(AbstractBeanFactory.java:919)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> ctForBeanInstance(AbstractBeanFactory.java:883)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:199)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:153)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> preInstantiateSingletons(DefaultListableBeanFactory.java:250)
>> at
>> org.springframework.context.support.AbstractApplicationContext.refres
>> h(AbstractApplicationContext.java:337)
>> at
>> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >(FileSystemXmlApplicationContext.java:149)
>> at
>> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >(FileSystemXmlApplicationContext.java:48)
>> at
>> org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i
>> nit(AbstractXBeanServiceUnitAnalyzer.java:79)
>> at
>> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
>> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:204)
>> ... 19 more
>> Caused by: org.springframework.beans.factory.BeanCreationException: Error
>> creati
>> ng bean with name 'managedJmsFactory' defined in URL
>> [file:/D:/servicemix-build/
>> trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAPSHOT
>> /bridge-jms
>> -su/src/main/resources/xbean.xml]: Invocation of init method failed;
>> nested
>> exce
>> ption is javax.naming.CommunicationException [Root exception is
>> java.rmi.ServerE
>> xception: RemoteException occurred in server thread; nested exception is:
>> java.rmi.UnmarshalException: error unmarshalling arguments;
>> nested
>> excep
>> tion is:
>> java.net.MalformedURLException: no protocol: and]
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:878)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.createBean(AbstractAutowireCapableBeanFactory.java:396)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
>> ject(AbstractBeanFactory.java:240)
>> at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
>> y.getSingleton(DefaultSingletonBeanRegistry.java:132)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:237)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:153)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getType
>> (AbstractBeanFactory.java:377)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> isBeanTypeMatch(DefaultListableBeanFactory.java:228)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> getBeanNamesForType(DefaultListableBeanFactory.java:141)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> getBeansOfType(DefaultListableBeanFactory.java:194)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> getBeansOfType(DefaultListableBeanFactory.java:188)
>> at
>> org.springframework.context.support.AbstractApplicationContext.getBea
>> nsOfType(AbstractApplicationContext.java:661)
>> at
>> org.jencks.factory.WorkManagerFactoryBean.getTransactionContextManage
>> r(WorkManagerFactoryBean.java:92)
>> at
>> org.jencks.factory.WorkManagerFactoryBean.createWorkManager(WorkManag
>> erFactoryBean.java:196)
>> at
>> org.jencks.factory.WorkManagerFactoryBean.getWorkManager(WorkManagerF
>> actoryBean.java:84)
>> at
>> org.jencks.factory.BootstrapContextFactoryBean.getWorkManager(Bootstr
>> apContextFactoryBean.java:79)
>> at
>> org.jencks.factory.BootstrapContextFactoryBean.getObject(BootstrapCon
>> textFactoryBean.java:53)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
>> ctFromFactoryBean(AbstractBeanFactory.java:916)
>> ... 28 more
>> Caused by: javax.naming.CommunicationException [Root exception is
>> java.rmi.Serve
>> rException: RemoteException occurred in server thread; nested exception
>> is:
>> java.rmi.UnmarshalException: error unmarshalling arguments;
>> nested
>> excep
>> tion is:
>> java.net.MalformedURLException: no protocol: and]
>> at
>> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
>> at
>> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>> at
>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java
>> :124)
>> at
>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)
>> at
>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)
>> at
>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)
>> at
>> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport
>> .java:86)
>> at
>> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.j
>> ava:101)
>> at
>> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(Jnd
>> iObjectFactoryBean.java:164)
>> at
>> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(Jnd
>> iObjectFactoryBean.java:151)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:908)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:875)
>> ... 45 more
>> Caused by: java.rmi.ServerException: RemoteException occurred in server
>> thread;
>> nested exception is:
>> java.rmi.UnmarshalException: error unmarshalling arguments;
>> nested
>> excep
>> tion is:
>> java.net.MalformedURLException: no protocol: and
>> at
>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
>> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>> at
>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
>> 66)
>> at
>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
>> .java:707)
>> at java.lang.Thread.run(Thread.java:595)
>> at
>> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
>> RemoteCall.java:247)
>> at
>> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:
>> 223)
>> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
>> at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
>> at
>> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
>> ... 57 more
>> Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
>> nested ex
>> ception is:
>> java.net.MalformedURLException: no protocol: and
>> at
>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
>> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>> at
>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
>> 66)
>> at
>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
>> .java:707)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: java.net.MalformedURLException: no protocol: and
>> at java.net.URL.<init>(URL.java:567)
>> at java.net.URL.<init>(URL.java:464)
>> at java.net.URL.<init>(URL.java:413)
>> at
>> sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
>> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
>> at
>> java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
>> at
>> org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.ja
>> va:91)
>> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java
>> :247)
>> at
>> sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.jav
>> a:197)
>> at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
>> 3)
>> at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
>> 698)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
>> :349)
>> at javax.naming.CompoundName.readObject(CompoundName.java:554)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>> java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>> sorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946
>> )
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1818)
>>
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
>> 718)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
>> :349)
>> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
>> at
>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
>> ... 6 more
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Total time: 1 minute 29 seconds
>> ===============================================
>> This is my new xbean.xml file (temporarily lifted out my actual enpoint
>> due
>> to error in factory creation):
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
>> xmlns:b="http://servicemix.apache.org/samples/bridge"
>> xmlns:c="http://servicemix.apache.org/samples/final"
>> xmlns:h="http://servicemix.apache.org/samples/hammer">
>>
>> <bean id="bootstrapContext"
>> class="org.jencks.factory.BootstrapContextFactoryBean">
>> <property name="threadPoolSize" value="25" />
>> </bean>
>> <bean id="jbossMQResourceAdapter"
>> class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
>> singleton="true">
>> <property name="serverUrl" value="tcp://localhost:1099" />
>> </bean>
>> <bean id="jbossJndiTemplate"
>> class="org.springframework.jndi.JndiTemplate">
>> <property name="environment">
>> <props>
>> <prop
>> key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory
>> </prop>
>> <prop key="java.naming.provider.url
>> ">jnp://localhost:1099</prop>
>> <prop
>> key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces
>> </prop>
>> </props>
>> </property>
>> </bean>
>> <bean id="managedJmsFactory"
>> class="org.springframework.jndi.JndiObjectFactoryBean">
>> <property name="jndiTemplate"><ref
>> bean="jbossJndiTemplate"/></property>
>> <property
>> name="jndiName"><value>ConnectionFactory</value></property>
>> </bean>
>> </beans>
>>
>> ===============================================
>>
>> Martin Landua wrote:
>> >
>> > We've been pretty successful with the following configuration (see
>> below).
>> > Please note that you might need the latest snapshot.
>> >
>> > <jms:endpoints>
>> > <jms:endpoint
>> service="foo:jmsSender"
>> >
>> endpoint="endpoint" role="provider" destinationStyle="queue"
>> >
>> processorName="jca" jndiDestinationName="queue/testQueue"
>> >
>> jndiConnectionFactoryName="java:/JmsXA" />
>> > </jms:endpoints>
>> >
>> > and here is the consumer:
>> >
>> > <jms:endpoint
>> service="foo:inputReceiver"
>> >
>> targetService="foo:rdbmsSender" endpoint="endpoint"
>> >
>> role="consumer" processorName="jca"
>> >
>> bootstrapContext="#bootstrapContext"
>> >
>> resourceAdapter="#jbossMQResourceAdapter"
>> >
>> connectionFactory="#managedJmsFactory"
>> >
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
>> >
>> synchronous="true">
>> >
>> <jms:activationSpec>
>> >
>> <bean
>> >
>> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
>> >
>> <property name="destination"
>> >
>> value="queue/testQueue" />
>> >
>> <property name="destinationType"
>> >
>> value="javax.jms.Queue" />
>> >
>> </bean>
>> >
>> </jms:activationSpec>
>> > </jms:endpoint>
>> >
>> > for which you will need the following references in your xbean file:
>> >
>> > <bean id="bootstrapContext"
>> > class="org.jencks.factory.BootstrapContextFactoryBean">
>> > <property name="threadPoolSize" value="25" />
>> > </bean>
>> >
>> > <bean id="jbossMQResourceAdapter"
>> > class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
>> > singleton="true">
>> > </bean>
>> >
>> > <bean id="managedJmsFactory"
>> > class="org.springframework.jndi.JndiObjectFactoryBean">
>> > <property name="jndiName">
>> > <value>java:/JmsXA</value>
>> > </property>
>> > </bean>
>> >
>> > Be sure to use the Connection Factory java:/JmsXA since this is the
>> one,
>> > which supports XA transactions if required.
>> >
>> > Best regards
>> > Martin
>> >
>> >
>> >
>> > johper wrote:
>> >>
>> >> Using SM in JBoss with newly built SAR, everythins workd/deploys fine
>> as
>> >> long as ActiveMQ is the provider.
>> >> Now I would like to use JBoss-MQ from "within" SM. Changed my
>> >> JMS-endpoints from using local ActiveMQ factories to JNDI lookups for
>> >> resources in JBoss. But SM does not like my JMS-endpoints?
>> >> When SM runs inside JBoss is JBoss JNDI tree accessible from my
>> >> service-assemblies? JBossMQ factory has remote and local JNDI names,
>> >> should I try the local one instead, since both SM/JBoss runs in same
>> >> VM?
>> >>
>> >> This is what I am trying to do in my xbean file:
>> >>
>> >> <jms:endpoint service="b:jms" endpoint="jms"
>> >> role="provider"
>> >> soap="true"
>> >> destinationStyle="queue"
>> >>
>> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> >> jndiProviderURL="localhost"
>> >> jndiDestinationName="queue/myoutput"
>> >> jndiConnectionFactoryName="ConnectionFactory" />
>> >>
>> >> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
>> >> targetService="c:final"
>> >> role="consumer"
>> >> soap="true"
>> >> soapVersion="1.1"
>> >> destinationStyle="queue"
>> >>
>> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> >> jndiProviderURL="localhost"
>> >> jndiDestinationName="queue/myinput"
>> >> jndiConnectionFactoryName="ConnectionFactory"
>> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
>> >>
>> >> In between there is an MDB in JBoss acting as the bridge..
>> >>
>> >> TIA
>> >> Johan
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6077054
>> Sent from the ServiceMix - User forum at Nabble.com.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
>
>
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6094096
Sent from the ServiceMix - User forum at Nabble.com.
Re: JNDI and JBossMQ
Posted by Guillaume Nodet <gn...@gmail.com>.
You can set the <generateJbiDescriptor>false</generateJbiDescriptor>
parameter on the jbi-maven-plugin to disable SU jbi.xml generation.
You can also disable the SU analyze by setting the
<useServiceUnitAnalyzer>false</useServiceUnitAnalyzer>
configuration element.
Also, the error comes from a maybe invalid jndiName.
It seems it should be a uri and have a protocol and can
not just be "ConnectionFactory".
On 8/31/06, johper <ka...@hotmail.com> wrote:
>
>
> After adding Maven artifact id's for jboss stuff I am getting this:
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Failed to generate jbi.xml
>
> Embedded error: Unable to generate service unit descriptor!
> no protocol: and
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to generate
> jbi.x
> ml
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
> ultLifecycleExecutor.java:559)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
> fecycle(DefaultLifecycleExecutor.java:475)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
> ltLifecycleExecutor.java:454)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
> dleFailures(DefaultLifecycleExecutor.java:306)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
> ts(DefaultLifecycleExecutor.java:273)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
> fecycleExecutor.java:140)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
> generate jb
> i.xml
> at
> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> ojo.execute(GenerateServiceUnitDescriptorMojo.java:126)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
> nManager.java:412)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
> ultLifecycleExecutor.java:534)
> ... 16 more
> Caused by: org.apache.servicemix.maven.plugin.jbi.JbiPluginException:
> Unable
> to
> generate service unit descriptor!
> at
> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:217)
> at
> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> ojo.execute(GenerateServiceUnitDescriptorMojo.java:124)
> ... 18 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creati
> ng bean with name 'bootstrapContext': FactoryBean threw exception on
> object
> crea
> tion; nested exception is
> org.springframework.beans.factory.BeanCreationExceptio
> n: Error creating bean with name 'managedJmsFactory' defined in URL
> [file:/D:/se
> rvicemix-build/trunk/apache-servicemix/target/samples/bridge-
> 3.0-incubating-SNAP
> SHOT/bridge-jms-su/src/main/resources/xbean.xml]: Invocation of init
> method
> fail
> ed; nested exception is javax.naming.CommunicationException [Root
> exception
> is j
> ava.rmi.ServerException: RemoteException occurred in server thread; nested
> excep
> tion is:
> java.rmi.UnmarshalException: error unmarshalling arguments; nested
> excep
> tion is:
> java.net.MalformedURLException: no protocol: and]
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> ctFromFactoryBean(AbstractBeanFactory.java:919)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> ctForBeanInstance(AbstractBeanFactory.java:883)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> (AbstractBeanFactory.java:199)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> (AbstractBeanFactory.java:153)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> preInstantiateSingletons(DefaultListableBeanFactory.java:250)
> at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(AbstractApplicationContext.java:337)
> at
> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
> >(FileSystemXmlApplicationContext.java:149)
> at
> org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
> >(FileSystemXmlApplicationContext.java:48)
> at
> org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i
> nit(AbstractXBeanServiceUnitAnalyzer.java:79)
> at
> org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
> ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:204)
> ... 19 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creati
> ng bean with name 'managedJmsFactory' defined in URL
> [file:/D:/servicemix-build/
> trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAPSHOT
> /bridge-jms
> -su/src/main/resources/xbean.xml]: Invocation of init method failed;
> nested
> exce
> ption is javax.naming.CommunicationException [Root exception is
> java.rmi.ServerE
> xception: RemoteException occurred in server thread; nested exception is:
> java.rmi.UnmarshalException: error unmarshalling arguments; nested
> excep
> tion is:
> java.net.MalformedURLException: no protocol: and]
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:878)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> Factory.createBean(AbstractAutowireCapableBeanFactory.java:396)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
> ject(AbstractBeanFactory.java:240)
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
> y.getSingleton(DefaultSingletonBeanRegistry.java:132)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> (AbstractBeanFactory.java:237)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
> (AbstractBeanFactory.java:153)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getType
> (AbstractBeanFactory.java:377)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> isBeanTypeMatch(DefaultListableBeanFactory.java:228)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> getBeanNamesForType(DefaultListableBeanFactory.java:141)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> getBeansOfType(DefaultListableBeanFactory.java:194)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> getBeansOfType(DefaultListableBeanFactory.java:188)
> at
> org.springframework.context.support.AbstractApplicationContext.getBea
> nsOfType(AbstractApplicationContext.java:661)
> at
> org.jencks.factory.WorkManagerFactoryBean.getTransactionContextManage
> r(WorkManagerFactoryBean.java:92)
> at
> org.jencks.factory.WorkManagerFactoryBean.createWorkManager(WorkManag
> erFactoryBean.java:196)
> at
> org.jencks.factory.WorkManagerFactoryBean.getWorkManager(WorkManagerF
> actoryBean.java:84)
> at
> org.jencks.factory.BootstrapContextFactoryBean.getWorkManager(Bootstr
> apContextFactoryBean.java:79)
> at
> org.jencks.factory.BootstrapContextFactoryBean.getObject(BootstrapCon
> textFactoryBean.java:53)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getObje
> ctFromFactoryBean(AbstractBeanFactory.java:916)
> ... 28 more
> Caused by: javax.naming.CommunicationException [Root exception is
> java.rmi.Serve
> rException: RemoteException occurred in server thread; nested exception
> is:
> java.rmi.UnmarshalException: error unmarshalling arguments; nested
> excep
> tion is:
> java.net.MalformedURLException: no protocol: and]
> at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
> at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
> at javax.naming.InitialContext.lookup(InitialContext.java:351)
> at
> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java
> :124)
> at
> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)
> at
> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)
> at
> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)
> at
> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport
> .java:86)
> at
> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.j
> ava:101)
> at
> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(Jnd
> iObjectFactoryBean.java:164)
> at
> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(Jnd
> iObjectFactoryBean.java:151)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:908)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBean
> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:875)
> ... 45 more
> Caused by: java.rmi.ServerException: RemoteException occurred in server
> thread;
> nested exception is:
> java.rmi.UnmarshalException: error unmarshalling arguments; nested
> excep
> tion is:
> java.net.MalformedURLException: no protocol: and
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 66)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:707)
> at java.lang.Thread.run(Thread.java:595)
> at
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
> RemoteCall.java:247)
> at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:
> 223)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
> at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
> at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
> ... 57 more
> Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
> nested ex
> ception is:
> java.net.MalformedURLException: no protocol: and
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 66)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:707)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.net.MalformedURLException: no protocol: and
> at java.net.URL.<init>(URL.java:567)
> at java.net.URL.<init>(URL.java:464)
> at java.net.URL.<init>(URL.java:413)
> at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
> at
> java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
> at
> org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.ja
> va:91)
> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java
> :247)
> at
> sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.jav
> a:197)
> at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
> 3)
> at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
> 698)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
> :349)
> at javax.naming.CompoundName.readObject(CompoundName.java:554)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946
> )
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1818)
>
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
> 718)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java
> :349)
> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
> ... 6 more
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 1 minute 29 seconds
> ===============================================
> This is my new xbean.xml file (temporarily lifted out my actual enpoint
> due
> to error in factory creation):
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
> xmlns:b="http://servicemix.apache.org/samples/bridge"
> xmlns:c="http://servicemix.apache.org/samples/final"
> xmlns:h="http://servicemix.apache.org/samples/hammer">
>
> <bean id="bootstrapContext"
> class="org.jencks.factory.BootstrapContextFactoryBean">
> <property name="threadPoolSize" value="25" />
> </bean>
> <bean id="jbossMQResourceAdapter"
> class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
> singleton="true">
> <property name="serverUrl" value="tcp://localhost:1099" />
> </bean>
> <bean id="jbossJndiTemplate"
> class="org.springframework.jndi.JndiTemplate">
> <property name="environment">
> <props>
> <prop
> key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory
> </prop>
> <prop key="java.naming.provider.url
> ">jnp://localhost:1099</prop>
> <prop
> key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces
> </prop>
> </props>
> </property>
> </bean>
> <bean id="managedJmsFactory"
> class="org.springframework.jndi.JndiObjectFactoryBean">
> <property name="jndiTemplate"><ref
> bean="jbossJndiTemplate"/></property>
> <property
> name="jndiName"><value>ConnectionFactory</value></property>
> </bean>
> </beans>
>
> ===============================================
>
> Martin Landua wrote:
> >
> > We've been pretty successful with the following configuration (see
> below).
> > Please note that you might need the latest snapshot.
> >
> > <jms:endpoints>
> > <jms:endpoint
> service="foo:jmsSender"
> >
> endpoint="endpoint" role="provider" destinationStyle="queue"
> >
> processorName="jca" jndiDestinationName="queue/testQueue"
> >
> jndiConnectionFactoryName="java:/JmsXA" />
> > </jms:endpoints>
> >
> > and here is the consumer:
> >
> > <jms:endpoint
> service="foo:inputReceiver"
> >
> targetService="foo:rdbmsSender" endpoint="endpoint"
> >
> role="consumer" processorName="jca"
> >
> bootstrapContext="#bootstrapContext"
> >
> resourceAdapter="#jbossMQResourceAdapter"
> >
> connectionFactory="#managedJmsFactory"
> >
> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
> >
> synchronous="true">
> >
> <jms:activationSpec>
> >
> <bean
> >
> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
> >
> <property name="destination"
> >
> value="queue/testQueue" />
> >
> <property name="destinationType"
> >
> value="javax.jms.Queue" />
> >
> </bean>
> >
> </jms:activationSpec>
> > </jms:endpoint>
> >
> > for which you will need the following references in your xbean file:
> >
> > <bean id="bootstrapContext"
> > class="org.jencks.factory.BootstrapContextFactoryBean">
> > <property name="threadPoolSize" value="25" />
> > </bean>
> >
> > <bean id="jbossMQResourceAdapter"
> > class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
> > singleton="true">
> > </bean>
> >
> > <bean id="managedJmsFactory"
> > class="org.springframework.jndi.JndiObjectFactoryBean">
> > <property name="jndiName">
> > <value>java:/JmsXA</value>
> > </property>
> > </bean>
> >
> > Be sure to use the Connection Factory java:/JmsXA since this is the one,
> > which supports XA transactions if required.
> >
> > Best regards
> > Martin
> >
> >
> >
> > johper wrote:
> >>
> >> Using SM in JBoss with newly built SAR, everythins workd/deploys fine
> as
> >> long as ActiveMQ is the provider.
> >> Now I would like to use JBoss-MQ from "within" SM. Changed my
> >> JMS-endpoints from using local ActiveMQ factories to JNDI lookups for
> >> resources in JBoss. But SM does not like my JMS-endpoints?
> >> When SM runs inside JBoss is JBoss JNDI tree accessible from my
> >> service-assemblies? JBossMQ factory has remote and local JNDI names,
> >> should I try the local one instead, since both SM/JBoss runs in same
> >> VM?
> >>
> >> This is what I am trying to do in my xbean file:
> >>
> >> <jms:endpoint service="b:jms" endpoint="jms"
> >> role="provider"
> >> soap="true"
> >> destinationStyle="queue"
> >>
> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> >> jndiProviderURL="localhost"
> >> jndiDestinationName="queue/myoutput"
> >> jndiConnectionFactoryName="ConnectionFactory" />
> >>
> >> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
> >> targetService="c:final"
> >> role="consumer"
> >> soap="true"
> >> soapVersion="1.1"
> >> destinationStyle="queue"
> >>
> >> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> >> jndiProviderURL="localhost"
> >> jndiDestinationName="queue/myinput"
> >> jndiConnectionFactoryName="ConnectionFactory"
> >> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
> >>
> >> In between there is an MDB in JBoss acting as the bridge..
> >>
> >> TIA
> >> Johan
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6077054
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: JNDI and JBossMQ
Posted by johper <ka...@hotmail.com>.
After adding Maven artifact id's for jboss stuff I am getting this:
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to generate jbi.xml
Embedded error: Unable to generate service unit descriptor!
no protocol: and
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to generate
jbi.x
ml
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:559)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:475)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:454)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:306)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:273)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:140)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
generate jb
i.xml
at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
ojo.execute(GenerateServiceUnitDescriptorMojo.java:126)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:412)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:534)
... 16 more
Caused by: org.apache.servicemix.maven.plugin.jbi.JbiPluginException: Unable
to
generate service unit descriptor!
at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:217)
at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
ojo.execute(GenerateServiceUnitDescriptorMojo.java:124)
... 18 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creati
ng bean with name 'bootstrapContext': FactoryBean threw exception on object
crea
tion; nested exception is
org.springframework.beans.factory.BeanCreationExceptio
n: Error creating bean with name 'managedJmsFactory' defined in URL
[file:/D:/se
rvicemix-build/trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAP
SHOT/bridge-jms-su/src/main/resources/xbean.xml]: Invocation of init method
fail
ed; nested exception is javax.naming.CommunicationException [Root exception
is j
ava.rmi.ServerException: RemoteException occurred in server thread; nested
excep
tion is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
excep
tion is:
java.net.MalformedURLException: no protocol: and]
at
org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctFromFactoryBean(AbstractBeanFactory.java:919)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctForBeanInstance(AbstractBeanFactory.java:883)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:153)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.
preInstantiateSingletons(DefaultListableBeanFactory.java:250)
at
org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:337)
at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>(FileSystemXmlApplicationContext.java:149)
at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>(FileSystemXmlApplicationContext.java:48)
at
org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i
nit(AbstractXBeanServiceUnitAnalyzer.java:79)
at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM
ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:204)
... 19 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creati
ng bean with name 'managedJmsFactory' defined in URL
[file:/D:/servicemix-build/
trunk/apache-servicemix/target/samples/bridge-3.0-incubating-SNAPSHOT/bridge-jms
-su/src/main/resources/xbean.xml]: Invocation of init method failed; nested
exce
ption is javax.naming.CommunicationException [Root exception is
java.rmi.ServerE
xception: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
excep
tion is:
java.net.MalformedURLException: no protocol: and]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:878)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:396)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:240)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:132)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:237)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:153)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getType
(AbstractBeanFactory.java:377)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.
isBeanTypeMatch(DefaultListableBeanFactory.java:228)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.
getBeanNamesForType(DefaultListableBeanFactory.java:141)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.
getBeansOfType(DefaultListableBeanFactory.java:194)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.
getBeansOfType(DefaultListableBeanFactory.java:188)
at
org.springframework.context.support.AbstractApplicationContext.getBea
nsOfType(AbstractApplicationContext.java:661)
at
org.jencks.factory.WorkManagerFactoryBean.getTransactionContextManage
r(WorkManagerFactoryBean.java:92)
at
org.jencks.factory.WorkManagerFactoryBean.createWorkManager(WorkManag
erFactoryBean.java:196)
at
org.jencks.factory.WorkManagerFactoryBean.getWorkManager(WorkManagerF
actoryBean.java:84)
at
org.jencks.factory.BootstrapContextFactoryBean.getWorkManager(Bootstr
apContextFactoryBean.java:79)
at
org.jencks.factory.BootstrapContextFactoryBean.getObject(BootstrapCon
textFactoryBean.java:53)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctFromFactoryBean(AbstractBeanFactory.java:916)
... 28 more
Caused by: javax.naming.CommunicationException [Root exception is
java.rmi.Serve
rException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
excep
tion is:
java.net.MalformedURLException: no protocol: and]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at
org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java
:124)
at
org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)
at
org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)
at
org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)
at
org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport
.java:86)
at
org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.j
ava:101)
at
org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(Jnd
iObjectFactoryBean.java:164)
at
org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(Jnd
iObjectFactoryBean.java:151)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:908)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:875)
... 45 more
Caused by: java.rmi.ServerException: RemoteException occurred in server
thread;
nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
excep
tion is:
java.net.MalformedURLException: no protocol: and
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
66)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:707)
at java.lang.Thread.run(Thread.java:595)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
RemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:
223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
... 57 more
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
nested ex
ception is:
java.net.MalformedURLException: no protocol: and
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
66)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.MalformedURLException: no protocol: and
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
at
java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at
org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.ja
va:91)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.jav
a:197)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
3)
at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
698)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
at javax.naming.CompoundName.readObject(CompoundName.java:554)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946
)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1818)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
718)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
... 6 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1 minute 29 seconds
===============================================
This is my new xbean.xml file (temporarily lifted out my actual enpoint due
to error in factory creation):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
xmlns:b="http://servicemix.apache.org/samples/bridge"
xmlns:c="http://servicemix.apache.org/samples/final"
xmlns:h="http://servicemix.apache.org/samples/hammer">
<bean id="bootstrapContext"
class="org.jencks.factory.BootstrapContextFactoryBean">
<property name="threadPoolSize" value="25" />
</bean>
<bean id="jbossMQResourceAdapter"
class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
singleton="true">
<property name="serverUrl" value="tcp://localhost:1099" />
</bean>
<bean id="jbossJndiTemplate"
class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop
key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
<prop
key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
</props>
</property>
</bean>
<bean id="managedJmsFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate"><ref
bean="jbossJndiTemplate"/></property>
<property name="jndiName"><value>ConnectionFactory</value></property>
</bean>
</beans>
===============================================
Martin Landua wrote:
>
> We've been pretty successful with the following configuration (see below).
> Please note that you might need the latest snapshot.
>
> <jms:endpoints>
> <jms:endpoint service="foo:jmsSender"
> endpoint="endpoint" role="provider" destinationStyle="queue"
> processorName="jca" jndiDestinationName="queue/testQueue"
> jndiConnectionFactoryName="java:/JmsXA" />
> </jms:endpoints>
>
> and here is the consumer:
>
> <jms:endpoint service="foo:inputReceiver"
> targetService="foo:rdbmsSender" endpoint="endpoint"
> role="consumer" processorName="jca"
> bootstrapContext="#bootstrapContext"
> resourceAdapter="#jbossMQResourceAdapter"
> connectionFactory="#managedJmsFactory"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
> synchronous="true">
> <jms:activationSpec>
> <bean
> class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
> <property name="destination"
> value="queue/testQueue" />
> <property name="destinationType"
> value="javax.jms.Queue" />
> </bean>
> </jms:activationSpec>
> </jms:endpoint>
>
> for which you will need the following references in your xbean file:
>
> <bean id="bootstrapContext"
> class="org.jencks.factory.BootstrapContextFactoryBean">
> <property name="threadPoolSize" value="25" />
> </bean>
>
> <bean id="jbossMQResourceAdapter"
> class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
> singleton="true">
> </bean>
>
> <bean id="managedJmsFactory"
> class="org.springframework.jndi.JndiObjectFactoryBean">
> <property name="jndiName">
> <value>java:/JmsXA</value>
> </property>
> </bean>
>
> Be sure to use the Connection Factory java:/JmsXA since this is the one,
> which supports XA transactions if required.
>
> Best regards
> Martin
>
>
>
> johper wrote:
>>
>> Using SM in JBoss with newly built SAR, everythins workd/deploys fine as
>> long as ActiveMQ is the provider.
>> Now I would like to use JBoss-MQ from "within" SM. Changed my
>> JMS-endpoints from using local ActiveMQ factories to JNDI lookups for
>> resources in JBoss. But SM does not like my JMS-endpoints?
>> When SM runs inside JBoss is JBoss JNDI tree accessible from my
>> service-assemblies? JBossMQ factory has remote and local JNDI names,
>> should I try the local one instead, since both SM/JBoss runs in same
>> VM?
>>
>> This is what I am trying to do in my xbean file:
>>
>> <jms:endpoint service="b:jms" endpoint="jms"
>> role="provider"
>> soap="true"
>> destinationStyle="queue"
>>
>> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> jndiProviderURL="localhost"
>> jndiDestinationName="queue/myoutput"
>> jndiConnectionFactoryName="ConnectionFactory" />
>>
>> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
>> targetService="c:final"
>> role="consumer"
>> soap="true"
>> soapVersion="1.1"
>> destinationStyle="queue"
>>
>> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
>> jndiProviderURL="localhost"
>> jndiDestinationName="queue/myinput"
>> jndiConnectionFactoryName="ConnectionFactory"
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
>>
>> In between there is an MDB in JBoss acting as the bridge..
>>
>> TIA
>> Johan
>>
>>
>
>
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6077054
Sent from the ServiceMix - User forum at Nabble.com.
Re: JNDI and JBossMQ
Posted by Martin Landua <ma...@union-investment.de>.
We've been pretty successful with the following configuration (see below).
Please note that you might need the latest snapshot.
<jms:endpoints>
<jms:endpoint service="foo:jmsSender"
endpoint="endpoint" role="provider" destinationStyle="queue"
processorName="jca" jndiDestinationName="queue/testQueue"
jndiConnectionFactoryName="java:/JmsXA" />
</jms:endpoints>
and here is the consumer:
<jms:endpoint service="foo:inputReceiver"
targetService="foo:rdbmsSender" endpoint="endpoint"
role="consumer" processorName="jca"
bootstrapContext="#bootstrapContext"
resourceAdapter="#jbossMQResourceAdapter"
connectionFactory="#managedJmsFactory"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
synchronous="true">
<jms:activationSpec>
<bean
class="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec">
<property name="destination"
value="queue/testQueue" />
<property name="destinationType"
value="javax.jms.Queue" />
</bean>
</jms:activationSpec>
</jms:endpoint>
for which you will need the following references in your xbean file:
<bean id="bootstrapContext"
class="org.jencks.factory.BootstrapContextFactoryBean">
<property name="threadPoolSize" value="25" />
</bean>
<bean id="jbossMQResourceAdapter"
class="org.jboss.resource.adapter.jms.JmsResourceAdapter"
singleton="true">
</bean>
<bean id="managedJmsFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/JmsXA</value>
</property>
</bean>
Be sure to use the Connection Factory java:/JmsXA since this is the one,
which supports XA transactions if required.
Best regards
Martin
johper wrote:
>
> Using SM in JBoss with newly built SAR, everythins workd/deploys fine as
> long as ActiveMQ is the provider.
> Now I would like to use JBoss-MQ from "within" SM. Changed my
> JMS-endpoints from using local ActiveMQ factories to JNDI lookups for
> resources in JBoss. But SM does not like my JMS-endpoints?
> When SM runs inside JBoss is JBoss JNDI tree accessible from my
> service-assemblies? JBossMQ factory has remote and local JNDI names,
> should I try the local one instead, since both SM/JBoss runs in same VM?
>
> This is what I am trying to do in my xbean file:
>
> <jms:endpoint service="b:jms" endpoint="jms"
> role="provider"
> soap="true"
> destinationStyle="queue"
>
> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> jndiProviderURL="localhost"
> jndiDestinationName="queue/myoutput"
> jndiConnectionFactoryName="ConnectionFactory" />
>
> <jms:endpoint service="b:finalconsumer" endpoint="finalconsumer"
> targetService="c:final"
> role="consumer"
> soap="true"
> soapVersion="1.1"
> destinationStyle="queue"
>
> initialContextFactory="org.jnp.interfaces.NamingContextFactory"
> jndiProviderURL="localhost"
> jndiDestinationName="queue/myinput"
> jndiConnectionFactoryName="ConnectionFactory"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
>
> In between there is an MDB in JBoss acting as the bridge..
>
> TIA
> Johan
>
>
--
View this message in context: http://www.nabble.com/JNDI-and-JBossMQ-tf2190321.html#a6060584
Sent from the ServiceMix - User forum at Nabble.com.