Hi Roshan, that error you're getting:

Component type reference not found for component reference: Component
= HelloWorldClientComponent Reference = serviceA

is saying that the reference name in the SCDL "serviceA" isnt found
when introspecting the implementation:

<tuscany:implementation.osgi bundleSymbolicName="HelloWorldClient"
bundleVersion="1.0.0" />

Does it exist in the HelloWorldClient bundle with exactly the same
spelling and capitalisation?

   ...ant

On Thu, Nov 26, 2009 at 5:06 AM, Joseph, Roshan IN BLR SISL
<[email protected]> wrote:
> Hi ant,
>
>  Thank you for the replies; I have made some small changes to have my
> service exposed via binding.jms. I don’t think this is the right way, but it
> works for me atleast for the time being. What I have done is added another
> bundle which will register an ActiveMQConnection factory object in the osgi
> service registry and made changes in the JMSREsourceFactoryImpl in
> org.apache.t.s.b.jms.provider bundle to access this same connection factory.
> This helped me to get my service part working.
>
>
>
> The following method is modified in the JMSResourceFActoryImpl class...
>
>
>
> protected void createConnection() throws NamingException, JMSException {
>
>         ConnectionFactory connectionFactory
> =(ConnectionFactory)jndiLookUp(connectionFactoryName);
>
>         if (connectionFactory == null) {
>
>             // TODO: connection factory name may be a non-jndi name OSGi
> complaint lookup.
>
>             BundleContext bundleContext =
> FrameworkUtil.getBundle(this.getClass())
>
>             .getBundleContext();
>
>             ServiceReference sr  =
> bundleContext.getServiceReference(ConnectionFactory.class.getName());
>
>             if(sr != null) {
>
>                   connectionFactory =
> (ConnectionFactory)bundleContext.getService(sr);
>
>             }
>
>             else{
>
>                  throw new JMSBindingException("connection factory not
> found: " + connectionFactoryName);
>
>             }
>
>         }
>
>         connection = connectionFactory.createConnection();
>
>     }
>
>
>
>
>
>
>
> Also I have implemented the lookupPhysical(String jndiName) method in the
> same JMSResourceFactoryImpl using the same ConnectionFactory object
> registered in the service registry of the OSGi runtime.
>
> On starting the service bundle I get the console output as
>
>
>
> ----------------Console O/P---------------------------
>
> Nov 26, 2009 10:22:42 AM
> org.apache.tuscany.sca.binding.jms.host.DefaultJMSServiceListener
> registerListerner
>
> INFO: JMS service 'HelloWorldService' listening on destination DestQueueA
>
> Nov 26, 2009 10:22:42 AM
> org.apache.tuscany.sca.core.assembly.impl.EndpointRegistryImpl addEndpoint
>
> INFO: Add endpoint - (@19275957)Endpoint:  URI =
> HelloWorldComponent#service-binding(HelloWorldService/HelloWorldService)
>
> ------------------------------------------------------------------
>
>
>
>
>
> Currently I am looking at how to make a client use this service. The client
> reference running in another osgi runtime is not able to use this exposed
> service. I get error here as referenced service not found.
>
>
>
> My client composite is somewhat like as shown below.
>
>
>
> <component name="HelloWorldClientComponent">
>
>         <tuscany:implementation.osgi bundleSymbolicName="HelloWorldClient"
> bundleVersion="1.0.0" />
>
>         <service name="HelloWorldClientProcessor">
>
>             <binding.ws/>
>
>         </service>
>
>         <reference name="serviceA">
>
>            <binding.jms
> initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
> jndiURL="tcp://localhost:61616">
>
>                <destination jndiName="DestQueueA"/>
>
>                <response>
>
>                   <destination jndiName="RespQueueA"/>
>
>                </response>
>
>            </binding.jms>
>
>         </reference>
>
>     </component>
>
>
>
> If I start my client I get the following error...
>
>
>
> Nov 26, 2009 10:30:52 AM
> org.apache.tuscany.sca.builder.impl.ComponentBuilderImpl [Composite:
> {http://docs.oasis-open.org/ns/opencsa/sca/200903}, Component:
> HelloWorldClientComponent] (ReferenceNotFoundForComponentReference)
>
> SEVERE: Component type reference not found for component reference:
> Component = HelloWorldClientComponent Reference = serviceA
>
> Nov 26, 2009 10:30:54 AM org.apache.tuscany.sca.node.osgi.impl.NodeManager
> bundleStarted
>
> SEVERE: org.oasisopen.sca.ServiceRuntimeException: [Composite:
> {http://docs.oasis-open.org/ns/opencsa/sca/200903}, Component:
> HelloWorldClientComponent] - Component type reference not found for
> component reference: Component = HelloWorldClientComponent Reference =
> serviceA
>
> java.lang.IllegalStateException: org.oasisopen.sca.ServiceRuntimeException:
> [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200903}, Component:
> HelloWorldClientComponent] - Component type reference not found for
> component reference: Component = HelloWorldClientComponent Reference =
> serviceA
>
>       at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:176)
>
>       at
> org.apache.tuscany.sca.node.osgi.impl.NodeManager.bundleStarted(NodeManager.java:117)
>
>       at
> org.apache.tuscany.sca.node.osgi.impl.NodeManager.bundleChanged(NodeManager.java:139)
>
>       at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:916)
>
>       at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
>
>       at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
>
>       at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1350)
>
>       at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1301)
>
>       at
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:362)
>
>       at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
>
>       at
> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
>
>       at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
>
>       at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
>
>       at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
>
>       at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
>
>       at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
>
>       at
> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)
>
> Caused by: org.oasisopen.sca.ServiceRuntimeException: [Composite:
> {http://docs.oasis-open.org/ns/opencsa/sca/200903}, Component:
> HelloWorldClientComponent] - Component type reference not found for
> component reference: Component = HelloWorldClientComponent Reference =
> serviceA
>
>       at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.analyzeProblems(NodeFactoryImpl.java:174)
>
>       at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.configureNode(NodeFactoryImpl.java:275)
>
>       at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:135)
>
>       ... 16 more
>
>
>
>
>
> Would you able to comment on what is creating the problem? Thank you and
> appreciate very much your comments and support.
>
>
>
> Regards
>
> Roshan
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of ant
> elder
> Sent: Tuesday, November 24, 2009 2:52 PM
> To: Joseph, Roshan IN BLR SISL
> Subject: Re: binding.jms in SCA Java 2.0 M4
>
>
>
> Hi Roshan, sorry I've been snowed under and not had much of a chance
>
> to look at this yet so dont have much to add here. I'll try to look at
>
> it more shortly and maybe try to get one of the other Tuscany OSGi
>
> experts to have a look too as its more of an OSGi runtime thing than a
>
> JMS binding issue.
>
>
>
>    ...ant
>
>
>
>

Reply via email to