[jboss-user] [EJB 3.0] - Re: Injection of QueueConnectionFactory and Queue from ENC i

Wolfgang Knauf do-not-reply at jboss.com
Tue Jan 27 14:28:26 EST 2009


Sure (it is the log4j output of the ClientLauncher).

I change the Queue annotation to point to the ENC name:
  @Resource(mappedName="jms/MBQueueRef")
  |   private static Queue queue;
  | 
This results in this Log4J output when starting the client:
2009-01-27 20:23:28,890 INFO [main][org.jboss.ejb3.client.ClientLauncher] - <ClientLauncher, version: $Revision: 81053 $>
  | 2009-01-27 20:23:28,937 DEBUG [main][org.jboss.kernel.KernelFactory] - <Starting JBoss Kernel construction...>
  | 2009-01-27 20:23:29,125 DEBUG [main][org.jboss.kernel.KernelFactory] - <Completed JBoss Kernel construction.  Duration: 188 milliseconds>
  | 2009-01-27 20:23:29,234 INFO [main][org.jboss.ejb3.client.ClientLauncher] - <Setting up classpath from: >
  | 2009-01-27 20:23:29,234 INFO [main][org.jboss.ejb3.client.ClientLauncher] - <vfszip:/C:/temp/jboss-5.0.0.GA/server/default/tmp/jsr88/Message.ear/MessageClient.jar>
  | 2009-01-27 20:23:29,234 INFO [main][org.jboss.ejb3.client.ClientLauncher] - <End classpath>
  | 2009-01-27 20:23:29,265 DEBUG [main][org.jboss.ejb3.client.ClientLauncher] - <Deploying AbstractKernelDeployment at 5e5a50{name=ClientLauncherClassPath:0.0.0 installed=false beanFactories=[AbstractBeanMetaData at 7b6889{name=ClassLoaderSystem bean=org.jboss.classloader.spi.ClassLoaderSystem properties= constructor=AbstractConstructorMetaData at c2ff5{parameters= factoryClass=org.jboss.ejb3.client.ClientLauncher factoryMethod=getClassLoaderSystem} autowireCandidate=true}, AbstractBeanMetaData at 20be79{name=ClassLoading bean=org.jboss.classloading.spi.dependency.ClassLoading properties= constructor=null autowireCandidate=true installCallbacks=[method=addModule] uninstallCallbacks=[method=removeModule]}, VFSClassLoaderFactory at 1b9240e{name=ClientLauncherClassPath version=0.0.0 parent-first=true}, AbstractBeanMetaData at 1ee4648{name=ClientContainer bean=org.jboss.ejb3.client.ClientContainer properties= classLoader=AbstractClassLoaderMetaData at 482923{classloader=AbstractDependencyValueMetaData at 184ec44{value=ClientLauncherClassPath:0.0.0}} constructor=AbstractConstructorMetaData at 1b383e9{parameters=[org.jboss.metadata.client.jboss.JBossClientMetaData, java.lang.Class, java.lang.String, java.util.Properties]} autowireCandidate=true}]}>
  | 2009-01-27 20:23:29,671 DEBUG [main][org.jboss.classloader.spi.ClassLoaderSystem] - <DefaultClassLoaderSystem at e5bbd6 registered domain=ClassLoaderDomain at 8ee016{name=DefaultDomain parentPolicy=BEFORE parent=sun.misc.Launcher$AppClassLoader at 11b86e7}>
  | 2009-01-27 20:23:29,828 DEBUG [main][org.jboss.classloading.spi.dependency.Domain] - <org.jboss.classloading.spi.dependency.Domain at 9b42e6{DefaultDomain} add module VFSClassLoaderPolicyModule ClientLauncherClassPath:0.0.0>
  | 2009-01-27 20:23:29,843 INFO [main][org.jboss.virtual.spi.cache.VFSCacheFactory] - <Using VFSCache [NoopVFSCache]>
  | 2009-01-27 20:23:29,859 INFO [main][org.jboss.virtual.plugins.copy.CopyMechanism] - <VFS temp dir: C:\DOCUME~1\Knuffi\LOCALS~1\Temp>
  | 2009-01-27 20:23:29,890 DEBUG [main][org.jboss.classloader.spi.base.BaseClassLoader] - <Created BaseClassLoader at 192c8d9{ClientLauncherClassPath:0.0.0$MODULE} with policy VFSClassLoaderPolicy at 1c05ffd{name=ClientLauncherClassPath:0.0.0$MODULE domain=null roots=[ZipEntryHandler at 14556042[path= context=vfszip:/C:/temp/jboss-5.0.0.GA/server/default/tmp/jsr88/Message.ear/MessageClient.jar real=vfszip:/C:/temp/jboss-5.0.0.GA/server/default/tmp/jsr88/Message.ear/MessageClient.jar]]  delegates=null exported=[]}>
  | 2009-01-27 20:23:29,890 DEBUG [main][org.jboss.classloader.spi.base.BaseClassLoaderDomain] - <ClassLoaderDomain at 8ee016{DefaultDomain} registerClassLoader BaseClassLoader at 192c8d9{ClientLauncherClassPath:0.0.0$MODULE}>
  | 2009-01-27 20:23:30,031 INFO [main][org.jboss.ejb3.client.JndiDependencyItem] - <Resolved(MessageClient/metaData)org.jboss.metadata.client.jboss.JBossClientMetaData at cae5b5d1>
  | 2009-01-27 20:23:30,062 INFO [main][org.jboss.ejb3.client.ClientContainer] - <ClientContainer(version=$Revision: 81053 $)>
  | 2009-01-27 20:23:30,062 INFO [main][org.jboss.ejb3.client.ClientContainer] - <DependencyPolicy.CS: (file:/C:/temp/jboss-5.0.0.GA/client/jboss-ejb3-core-client.jar <no signer certificates>)>
  | 2009-01-27 20:23:30,062 INFO [main][org.jboss.ejb3.client.ClientContainer] - <ClientContainer.CS: (file:/C:/temp/jboss-5.0.0.GA/client/jboss-appclient.jar <no signer certificates>)>
  | 2009-01-27 20:23:30,062 INFO [main][org.jboss.ejb3.client.ClientContainer] - <mainClass.ClassLoader: BaseClassLoader at 192c8d9{ClientLauncherClassPath:0.0.0$MODULE}>
  | 2009-01-27 20:23:30,062 INFO [main][org.jboss.ejb3.client.ClientContainer] - <mainClassLoader jndi.properties: null>
  | 2009-01-27 20:23:30,125 INFO [main][org.jboss.ejb3.client.ClientContainer] - <Client ENC(MessageClient):
  |  +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
  |  +- metaData (class: org.jboss.metadata.client.jboss.JBossClientMetaData)
  |  +- env (class: org.jnp.interfaces.NamingContext)
  |  |   +- de.fhw.komponentenarchitekturen.knauf.mdb.MessageFrame (class: org.jnp.interfaces.NamingContext)
  |  |   |   +- queue[link -> jms/MBQueueRef] (class: javax.naming.LinkRef)
  |  |   +- jms (class: org.jnp.interfaces.NamingContext)
  |  |   |   +- MBConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
  |  |   |   +- MBQueueRef[link -> queue/MessageBeanQueue] (class: javax.naming.LinkRef)
  |  +- classPathEntries (class: java.util.ArrayList)
  | >
  | 2009-01-27 20:23:30,125 DEBUG [main][org.jboss.ejb3.client.ClientContainer] - <processMetadata>
  | 2009-01-27 20:23:30,171 DEBUG [main][org.jboss.ejb3.client.ClientContainer] - <injector: org.jboss.ejb3.client.JndiPropertyInjector at ba4211>
  | 2009-01-27 20:23:30,203 ERROR [main][org.jboss.kernel.plugins.dependency.AbstractKernelController] - <Error installing to Instantiated: name=ClientContainer state=Described>
  | java.lang.RuntimeException: Unable to inject jndi dependency: env/de.fhw.komponentenarchitekturen.knauf.mdb.MessageFrame/queue into property de.fhw.komponentenarchitekturen.knauf.mdb.MessageFrame.queue: jms not bound
  | 	at org.jboss.ejb3.client.JndiPropertyInjector.lookup(JndiPropertyInjector.java:136)
  | 	at org.jboss.ejb3.client.JndiPropertyInjector.inject(JndiPropertyInjector.java:78)
  | 	at org.jboss.ejb3.client.ClientContainer.<init>(ClientContainer.java:130)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  | 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
  | 	at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:149)
  | 	at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
  | 	at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
  | 	at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:276)
  | 	at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:97)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
  | 	at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
  | 	at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
  | 	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
  | 	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
  | 	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
  | 	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
  | 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
  | 	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:331)
  | 	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:309)
  | 	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130)
  | 	at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76)
  | 	at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:88)
  | 	at org.jboss.ejb3.client.ClientLauncher.deploy(ClientLauncher.java:427)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:268)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:174)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:138)
  | 	at org.jboss.client.AppClientMain.main(AppClientMain.java:134)
  | Caused by: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: jms not bound]
  | 	at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1339)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:804)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
  | 	at org.jboss.ejb3.client.JndiPropertyInjector.lookup(JndiPropertyInjector.java:107)
  | 	... 38 more
  | Caused by: javax.naming.NameNotFoundException: jms not bound
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
  | 	at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
  | 	at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  | 	at java.lang.reflect.Method.invoke(Unknown Source)
  | 	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
  | 	at sun.rmi.transport.Transport$1.run(Unknown Source)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
  | 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
  | 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
  | 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | 	at java.lang.Thread.run(Unknown Source)
  | 	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
  | 	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
  | 	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
  | 	at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
  | 	at javax.naming.InitialContext.lookup(Unknown Source)
  | 	at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1333)
  | 	... 41 more
  | 2009-01-27 20:23:30,203 DEBUG [main][org.jboss.ejb3.client.ClientLauncher] - <Deployed AbstractKernelDeployment at 5e5a50{name=ClientLauncherClassPath:0.0.0 installed=true beanFactories=[AbstractBeanMetaData at 7b6889{name=ClassLoaderSystem bean=org.jboss.classloader.spi.ClassLoaderSystem properties= constructor=AbstractConstructorMetaData at c2ff5{parameters= factoryClass=org.jboss.ejb3.client.ClientLauncher factoryMethod=getClassLoaderSystem} autowireCandidate=true}, AbstractBeanMetaData at 20be79{name=ClassLoading bean=org.jboss.classloading.spi.dependency.ClassLoading properties= constructor=null autowireCandidate=true installCallbacks=[method=addModule] uninstallCallbacks=[method=removeModule]}, VFSClassLoaderFactory at 1b9240e{name=ClientLauncherClassPath version=0.0.0 parent-first=true}, AbstractBeanMetaData at 1ee4648{name=ClientContainer bean=org.jboss.ejb3.client.ClientContainer properties= classLoader=AbstractClassLoaderMetaData at 482923{classloader=AbstractDependencyValueMetaData at 184ec44{value=ClientLauncherClassPath:0.0.0}} constructor=AbstractConstructorMetaData at 1b383e9{parameters=[org.jboss.metadata.client.jboss.JBossClientMetaData, java.lang.Class, java.lang.String, java.util.Properties]} autowireCandidate=true}]}>
  | 2009-01-27 20:23:30,218 WARN [main][org.jboss.client.AppClientMain] - <Failed to launch using: org.jboss.ejb3.client.ClientLauncher>
  | java.lang.IllegalStateException: Incompletely deployed:
  | 
  | *** DEPLOYMENTS IN ERROR: Name -> Error
  | ClientContainer -> java.lang.RuntimeException: Unable to inject jndi dependency: env/de.fhw.komponentenarchitekturen.knauf.mdb.MessageFrame/queue into property de.fhw.komponentenarchitekturen.knauf.mdb.MessageFrame.queue: jms not bound
  | 
  | 	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.internalValidate(AbstractKernelDeployer.java:290)
  | 	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.validate(AbstractKernelDeployer.java:174)
  | 	at org.jboss.ejb3.client.ClientLauncher.validate(ClientLauncher.java:471)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:269)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:174)
  | 	at org.jboss.ejb3.client.ClientLauncher.launch(ClientLauncher.java:138)
  | 	at org.jboss.client.AppClientMain.main(AppClientMain.java:134
  | 

Now I change the injection to this:
  @Resource(name="jms/MBQueueRef")
  |   private static Queue queue;

This results in a deployment error:
20:24:30,671 ERROR [Ejb3ClientDeployer] Could not deploy vfszip:/C:/temp/jboss-5.0.0.GA/server/default/tmp/jsr88/Message.ear/MessageClient.jar
  | java.lang.RuntimeException: message-destination has no jndi-name/resolved-jndi-name MessageDestinationReferenceMetaData{name=jms/MBQueueRef,type=javax.jms.Queue,link=null,ignore-dependecy=false,jndi-name=null,resolvoed-jndi-name=null,usage=null}
  | 	at org.jboss.ejb3.clientmodule.ResourceHandler.loadXmlMessageDestinationRefs(ResourceHandler.java:261)
  | 	at org.jboss.ejb3.clientmodule.ResourceHandler.loadXml(ResourceHandler.java:275)
  | 	at org.jboss.ejb3.clientmodule.ClientENCInjectionContainer.processMetaData(ClientENCInjectionContainer.java:325)
  | 	at org.jboss.ejb3.clientmodule.ClientENCInjectionContainer.<init>(ClientENCInjectionContainer.java:175)
  | 	at org.jboss.ejb3.deployers.Ejb3ClientDeployer.deploy(Ejb3ClientDeployer.java:162)
  | 	at org.jboss.ejb3.deployers.Ejb3ClientDeployer.deploy(Ejb3ClientDeployer.java:61)
  | 

I'm just playing around with annotations as I don't know how Injection should work, so it would be great if you could tell me how to use Queue injection from ENC. I know how to perform injection from global JNDI.
For the QueueConnectionFactory, I found a way, but don't know whether this is correct ;-)

Thanks

Wolfgang

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4205058#4205058

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4205058




More information about the jboss-user mailing list