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
