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 <asank...@wso2.com> 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 <abima...@wso2.com> > 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>(BrokerImpl.java:59) >> at org.wso2.carbon.apimgt.core.internal.BundleActivator.start( >> BundleActivator.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 : abima...@wso2.com >> 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 : abima...@wso2.com Mobile : +94 773922820 <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 Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev