wso2 / analytics-apim

Analytics for APIM
Apache License 2.0
55 stars 126 forks source link

Number format exception when set DAS server URLs with ttailing forward slash #1465

Open tgtshanika opened 5 years ago

tgtshanika commented 5 years ago

Description: Get the following Exception when set DAS server URLs as follows when enable analytics with wso2-am analytics tcp://localhost:7612/,tcp://localhost:7613/,tcp://localhost:7614/

Need to avoid forward slash here.

TID: [-1234] [] [2016-08-28 14:34:17,531] ERROR

Unknown macro: {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher}
Error initializing APIMgtUsageDataBridgeDataPublisher
java.lang.NumberFormatException: For input string: "7611/"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:492)

at java.lang.Integer.parseInt(Integer.java:527)

at org.wso2.carbon.databridge.agent.util.DataPublisherUtil.getDefaultAuthUrl(DataPublisherUtil.java:188)

at org.wso2.carbon.databridge.agent.util.DataPublisherUtil.getDefaultAuthURLSet(DataPublisherUtil.java:208)

at org.wso2.carbon.databridge.agent.DataPublisher.<init>(DataPublisher.java:124)

at org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher.getDataPublisher(APIMgtUsageDataBridgeDataPublisher.java:152)

at org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher.init(APIMgtUsageDataBridgeDataPublisher.java:47)

at org.wso2.carbon.apimgt.usage.publisher.APIMgtCommonExecutionPublisher.initializeDataPublisher(APIMgtCommonExecutionPublisher.java:105)

at org.wso2.carbon.apimgt.usage.publisher.APIMgtCommonExecutionPublisher.<init>(APIMgtCommonExecutionPublisher.java:26)

at org.wso2.carbon.apimgt.usage.publisher.APIMgtFaultHandler.<init>(APIMgtFaultHandler.java:16)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

at java.lang.Class.newInstance(Class.java:379)

at org.apache.synapse.config.xml.ClassMediatorFactory.createSpecificMediator(ClassMediatorFactory.java:112)

at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)

at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)

at org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)

at org.apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87)

at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)

at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)

at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.defineSequence(SynapseXMLConfigurationFactory.java:225)

at org.apache.synapse.config.xml.MultiXMLConfigurationBuilder.createSequences(MultiXMLConfigurationBuilder.java:330)

at org.apache.synapse.config.xml.MultiXMLConfigurationBuilder.getConfiguration(MultiXMLConfigurationBuilder.java:145)

at org.apache.synapse.config.SynapseConfigurationBuilder.getConfiguration(SynapseConfigurationBuilder.java:100)

at org.apache.synapse.Axis2SynapseController.createSynapseConfiguration(Axis2SynapseController.java:471)

at org.wso2.carbon.mediation.initializer.CarbonSynapseController.createSynapseConfiguration(CarbonSynapseController.java:180)

at org.apache.synapse.ServerManager.start(ServerManager.java:179)

at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.initESB(ServiceBusInitializer.java:452)

at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:196)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)

at org.wso2.carbon.inbound.endpoint.persistence.service.InboundEndpointPersistenceServiceDSComponent.activate(InboundEndpointPersistenceServiceDSComponent.java:49)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)

at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:514)

at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)

at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:94)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)

at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)

at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)

at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)

at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195)

at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085)

at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5318)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5610)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

From @krishanthasamaraweera from https://wso2.org/jira/browse/APIMANAGER-5368

isharac commented 3 years ago

We should remove the trailing slash only if available in [1] before casting to an integer.

[1] https://github.com/wso2/carbon-analytics-common/blob/master/components/data-bridge/org.wso2.carbon.databridge.agent/src/main/java/org/wso2/carbon/databridge/agent/util/DataPublisherUtil.java#L192