Are we registering the service manually or are we going to use the SPIfly
to achieve the same purpose?

Thanks
Thusitha

On Mon, Aug 21, 2017 at 10:00 PM, Abimaran Kugathasan <[email protected]>
wrote:

> Hi Asanka,
>
> As I checked offline with Niranjan, this SPI service introduced in C5. I'm
> checking on this further.
>
> On Mon, Aug 21, 2017 at 11:03 AM, Asanka Abeyweera <[email protected]>
> wrote:
>
>> Hi Abimaran and all,
>>
>> Is the requirement to expose as SPI service something introduced in
>> Carbon 5? I am curious on how it worked with APIM 2.1.0. Can't we do the
>> same thing?
>>
>> On Mon, Aug 21, 2017 at 10:48 AM, Abimaran Kugathasan <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> We are embedding Message Broker feature into API Manager 3.0 core, now
>>> API Manager will function as both MB server and client to manage its
>>> artifacts such as API, application, subscription, throttling etc between
>>> its nodes and Gateway. andes-client [1] will function as JMS client for
>>> embedded MB.
>>>
>>> I'm getting the following exception [3] while starting API Manager. When
>>> I check the OSGi console for available services with 'ls', I don't see any
>>> services from andes-client, but andes-client bundle is active. Please find
>>> the half committed PR [2].
>>>
>>> I learned that, on top of wrapping a library as OSGI bundle, we have to
>>> expose them as SPI services too. So the issue here is, andes-client library
>>> isn't exposing any SPI service to consume by carbon-jndi.
>>>
>>> Carbon team please confirm.
>>>
>>> [1]: https://github.com/wso2/andes/blob/v3.2.22/modules/orbi
>>> t/andes-client/pom.xml
>>> [2]: https://github.com/wso2/carbon-apimgt/pull/4421
>>> [3]:
>>> [2017-08-21 09:28:17,041] ERROR 
>>> {org.wso2.carbon.apimgt.core.util.BrokerUtil}
>>> - Could not create a JMS client connection from the class
>>> javax.naming.NoInitialContextException: Cannot find the
>>> InitialContextFactory org.wso2.andes.jndi.Properties
>>> FileInitialContextFactory.
>>> at org.wso2.carbon.jndi.internal.osgi.JNDIContextManagerImpl.la
>>> mbda$getInitialContextInternal$28(JNDIContextManagerImpl.java:118)
>>> at java.util.Optional.orElseThrow(Optional.java:290)
>>> at org.wso2.carbon.jndi.internal.osgi.JNDIContextManagerImpl.ge
>>> tInitialContextInternal(JNDIContextManagerImpl.java:118)
>>> at org.wso2.carbon.jndi.internal.osgi.JNDIContextManagerImpl.ne
>>> wInitialContext(JNDIContextManagerImpl.java:68)
>>> at org.wso2.carbon.jndi.internal.osgi.factory.DefaultContextFac
>>> tory.lambda$getInitialContext$21(DefaultContextFactory.java:68)
>>> at org.wso2.carbon.jndi.internal.util.LambdaExceptionUtils.lamb
>>> da$rethrowFunction$2(LambdaExceptionUtils.java:120)
>>> at java.util.Optional.map(Optional.java:215)
>>> at org.wso2.carbon.jndi.internal.osgi.factory.DefaultContextFac
>>> tory.getInitialContext(DefaultContextFactory.java:68)
>>> at javax.naming.spi.NamingManager.getInitialContext(NamingManag
>>> er.java:684)
>>> at javax.naming.InitialContext.getDefaultInitCtx(InitialContext
>>> .java:313)
>>> at javax.naming.InitialContext.init(InitialContext.java:244)
>>> at javax.naming.InitialContext.<init>(InitialContext.java:216)
>>> at org.wso2.carbon.apimgt.core.impl.BrokerImpl.<init>(BrokerImp
>>> l.java:59)
>>> at org.wso2.carbon.apimgt.core.internal.BundleActivator.start(B
>>> undleActivator.java:70)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>> ssorImpl.java:62)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>> thodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponent.activ
>>> ate(ServiceComponent.java:235)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.a
>>> ctivate(ServiceComponentProp.java:146)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.b
>>> uild(ServiceComponentProp.java:345)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nt(InstanceProcess.java:620)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nts(InstanceProcess.java:197)
>>> at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolve
>>> r.java:343)
>>> at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SC
>>> RManager.java:222)
>>> at org.eclipse.osgi.internal.serviceregistry.FilteredServiceLis
>>> tener.serviceChanged(FilteredServiceListener.java:109)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.dispat
>>> chEvent(BundleContextImpl.java:915)
>>> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve
>>> nt(EventManager.java:230)
>>> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEv
>>> entSynchronous(ListenerQueue.java:148)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEventPrivileged(ServiceRegistry.java:862)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEvent(ServiceRegistry.java:801)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistratio
>>> nImpl.register(ServiceRegistrationImpl.java:127)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.re
>>> gisterService(ServiceRegistry.java:225)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.regist
>>> erService(BundleContextImpl.java:464)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.registerServ
>>> ice(InstanceProcess.java:536)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nts(InstanceProcess.java:213)
>>> at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolve
>>> r.java:343)
>>> at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SC
>>> RManager.java:222)
>>> at org.eclipse.osgi.internal.serviceregistry.FilteredServiceLis
>>> tener.serviceChanged(FilteredServiceListener.java:109)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.dispat
>>> chEvent(BundleContextImpl.java:915)
>>> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve
>>> nt(EventManager.java:230)
>>> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEv
>>> entSynchronous(ListenerQueue.java:148)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEventPrivileged(ServiceRegistry.java:862)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEvent(ServiceRegistry.java:801)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistratio
>>> nImpl.register(ServiceRegistrationImpl.java:127)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.re
>>> gisterService(ServiceRegistry.java:225)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.regist
>>> erService(BundleContextImpl.java:464)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.regist
>>> erService(BundleContextImpl.java:482)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.regist
>>> erService(BundleContextImpl.java:999)
>>> at org.wso2.carbon.connector.framework.ConnectorManager.registe
>>> rServerConnector(ConnectorManager.java:56)
>>> at java.util.ArrayList.forEach(ArrayList.java:1249)
>>> at org.wso2.carbon.connector.framework.ConnectorManager.registe
>>> rServerConnectorProvider(ConnectorManager.java:124)
>>> at org.wso2.carbon.connector.framework.server.internal.ServerCo
>>> nnectorSC.registerServerConnectorProvider(ServerConnectorSC.java:55)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>> ssorImpl.java:62)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>> thodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>> at org.eclipse.equinox.internal.ds.model.ComponentReference.bin
>>> d(ComponentReference.java:376)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.b
>>> indReference(ServiceComponentProp.java:444)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.b
>>> ind(ServiceComponentProp.java:218)
>>> at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.b
>>> uild(ServiceComponentProp.java:343)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nt(InstanceProcess.java:620)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nts(InstanceProcess.java:197)
>>> at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolve
>>> r.java:343)
>>> at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SC
>>> RManager.java:222)
>>> at org.eclipse.osgi.internal.serviceregistry.FilteredServiceLis
>>> tener.serviceChanged(FilteredServiceListener.java:109)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.dispat
>>> chEvent(BundleContextImpl.java:915)
>>> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve
>>> nt(EventManager.java:230)
>>> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEv
>>> entSynchronous(ListenerQueue.java:148)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEventPrivileged(ServiceRegistry.java:862)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pu
>>> blishServiceEvent(ServiceRegistry.java:801)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistratio
>>> nImpl.register(ServiceRegistrationImpl.java:127)
>>> at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.re
>>> gisterService(ServiceRegistry.java:225)
>>> at org.eclipse.osgi.internal.framework.BundleContextImpl.regist
>>> erService(BundleContextImpl.java:464)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.registerServ
>>> ice(InstanceProcess.java:536)
>>> at org.eclipse.equinox.internal.ds.InstanceProcess.buildCompone
>>> nts(InstanceProcess.java:213)
>>> at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied
>>> (Resolver.java:473)
>>> at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Re
>>> solver.java:217)
>>> at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRMa
>>> nager.java:816)
>>> at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatc
>>> h(SCRManager.java:783)
>>> at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>>> at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Execut
>>> or.run(Executor.java:70)
>>>
>>> [2017-08-21 09:28:17,121]  INFO 
>>> {org.wso2.andes.configuration.AndesConfigurationManager}
>>> - Main andes configuration located at : /home/abimaran/sources/wso2/gi
>>> t/abimaran/product-apim/product/target/wso2apim-3.0.0-SNAPSH
>>> OT/conf/broker.xml
>>>
>>>
>>> --
>>> Thanks
>>> Abimaran Kugathasan
>>> Senior Software Engineer - API Technologies
>>>
>>> Email : [email protected]
>>> Mobile : +94 773922820 <+94%2077%20392%202820>
>>>
>>> <http://stackoverflow.com/users/515034>
>>> <http://lk.linkedin.com/in/abimaran>
>>> <http://www.lkabimaran.blogspot.com/>  <https://github.com/abimarank>
>>> <https://twitter.com/abimaran>
>>>
>>>
>>
>>
>> --
>> Asanka Abeyweera
>> Senior Software Engineer
>> WSO2 Inc.
>>
>> Phone: +94 712228648 <+94%2071%20222%208648>
>> Blog: a5anka.github.io
>>
>> <https://wso2.com/signature>
>>
>
>
>
> --
> Thanks
> Abimaran Kugathasan
> Senior Software Engineer - API Technologies
>
> Email : [email protected]
> Mobile : +94 773922820 <+94%2077%20392%202820>
>
> <http://stackoverflow.com/users/515034>
> <http://lk.linkedin.com/in/abimaran>
> <http://www.lkabimaran.blogspot.com/>  <https://github.com/abimarank>
> <https://twitter.com/abimaran>
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Thusitha Dayaratne
WSO2 Inc. - lean . enterprise . middleware |  wso2.com

Mobile  +94712756809
Blog      alokayasoya.blogspot.com
About    http://about.me/thusithathilina
<http://wso2.com/signature>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to