We do not recommend to use getCurrentContext() method and the way it is executed leads to a recursive loop. That's why you are getting a StackOverflowError.
Carbon Team, We need to deprecate getCurrentContext() method in next release. On Tue, Sep 23, 2014 at 5:41 PM, Godwin Amila Shrimal <[email protected]> wrote: > Hi Gayashan, > > Thanks a lot, it worked properly, BTW do u know any reason to give a > Stackoverflow on previous scenario ? > > On Tue, Sep 23, 2014 at 5:08 PM, Gayashan Amarasinghe <[email protected]> > wrote: > >> Hi Godwin, >> >> Please use the getThreadLocalCarbonContext to acquire a >> PriviledgedCarbonContext instance. >> >> Thanks. >> /Gayashan >> >> On Tue, Sep 23, 2014 at 4:49 PM, Godwin Amila Shrimal <[email protected]> >> wrote: >> >>> Hi, >>> >>> I am trying to send a Cluster message and get a >>> *java.lang.StackOverflowError* error in highlighted line in following >>> code. >>> >>> public static void cleanTenantMaponWorkernodes(int tenantId)throws >>> Exception { >>> >>> TenantDeleteClusterMessage clustermessage = new >>> TenantDeleteClusterMessage(tenantId); >>> >>> *ConfigurationContextService configContextService = >>> (ConfigurationContextService) PrivilegedCarbonContext* >>> >>> * .getCurrentContext().getOSGiService(* >>> >>> * ConfigurationContextService.class);* >>> >>> ConfigurationContext configContext = configContextService >>> .getServerConfigContext(); >>> >>> ClusteringAgent agent = configContext.getAxisConfiguration() >>> .getClusteringAgent(); >>> >>> try { >>> >>> if (agent != null) { >>> >>> agent.sendMessage(clustermessage, true); >>> >>> } >>> >>> } catch (ClusteringFault e) { >>> >>> log.error("Error occured while broadcasting TenantDeleteClusterMessage : >>> " >>> >>> + e.getMessage()); >>> >>> } >>> >>> } >>> >>> >>> *Error Log* >>> >>> Caused by: java.lang.StackOverflowError >>> >>> at org.apache.catalina.connector.Request.doGetSession(Request.java:2837) >>> >>> at org.apache.catalina.connector.Request.getSession(Request.java:2316) >>> >>> at >>> org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898) >>> >>> at >>> javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:259) >>> >>> at >>> org.eclipse.equinox.http.servlet.internal.HttpServletRequestAdaptor.getSession(HttpServletRequestAdaptor.java:146) >>> >>> at >>> org.wso2.carbon.context.internal.CarbonContextDataHolder.getCurrentCarbonContextHolder(CarbonContextDataHolder.java:533) >>> >>> at >>> org.wso2.carbon.context.internal.CarbonContextDataHolder.getCurrentCarbonContextHolder(CarbonContextDataHolder.java:568) >>> >>> at >>> org.wso2.carbon.context.internal.CarbonContextDataHolder.getClone(CarbonContextDataHolder.java:417) >>> >>> >>> Can anyone help one this to resolve ? >>> >>> >>> Thanks >>> Godwin >>> >>> >>> -- >>> *Godwin Amila Shrimal* >>> Senior Software Engineer >>> WSO2 Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> mobile: *+94772264165* >>> linkedin: *http://lnkd.in/KUum6D <http://lnkd.in/KUum6D>* >>> twitter: https://twitter.com/godwinamila >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> *Gayashan Amarasinghe* >> Software Engineer | Platform TG >> WSO2, Inc. | http://wso2.com >> lean. enterprise. middleware >> >> Mobile : +94718314517 >> Blog : gayashan-a.blogspot.com >> > > > > -- > *Godwin Amila Shrimal* > Senior Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: *+94772264165* > linkedin: *http://lnkd.in/KUum6D <http://lnkd.in/KUum6D>* > twitter: https://twitter.com/godwinamila > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Isuru Perera Senior Software Engineer | WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware about.me/chrishantha
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
