In HTTP/S transport CarbonContextCreatorValve get executed with each HTTP request and it initialise CarbonContext then set tenant details as well. WebSocket is a completely a different protocol from HTTP/S just like JMS/E-mail, so non of the Tomcat valves get executed with WS messages, in fact in WS there is no concept called Request/Responses instead once you created a tunnel you can send messages to both directions and there is no way to intercept messages on tunnel.
As we discussed offline you need to modify onOpen() method to receive tenant id from an initial handshake request, then within the onOpen method you have to write logic similar to CarbonContextCreatorValve#initCarbonContext() method. Thanks ! On Tue, Jul 22, 2014 at 7:18 PM, Dilini Muthumala <[email protected]> wrote: > FYI, this is the end point trying to get the tenant id: > > import javax.websocket.*; > import org.wso2.carbon.context.PrivilegedCarbonContext; > import org.wso2.carbon.event.input.adaptor.websocket.WebsocketInputService; > > @ServerEndpoint(value = "/{topic}") > public class DataReceivingEndpoint { > > private static WebsocketInputService websocketInputService; > private static int tenantId; > > public DataReceivingEndpoint() { > websocketInputService = (WebsocketInputService) > PrivilegedCarbonContext.getThreadLocalCarbonContext() > .getOSGiService(WebsocketInputService.class); > } > > @OnOpen > public void onOpen (Session session, @PathParam("topic") String topic) > { > } > > @OnMessage > public void onMessage (Session session, String message, > @PathParam("topic") String topic) { > tenantId = > PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); // > returned -1 > websocketInputService.invokeListener(tenantId, topic, message); > } > > @OnClose > public void onClose (Session session, CloseReason reason) { > } > > @OnError > public void onError (Session session) { > } > } > > > On Tue, Jul 22, 2014 at 5:58 PM, Dilini Muthumala <[email protected]> wrote: > >> Hi all, >> >> Had an offline discussion with Sameera, Sagara and Chamil regarding this. >> >> The most important piece of info is missing in my initial mail, which is, >> this web app contains a web-socket end point. >> >> That must be the reason why all these usual methods are not working. >> >> Thanks, >> Dilini >> >> >> On Tue, Jul 22, 2014 at 5:45 PM, Kasun Gajasinghe <[email protected]> >> wrote: >> >>> Hi Dilini, >>> >>> What's the product you are trying this in? Can you open up >>> CARBON_HOME/repository/conf/tomcat/catalina-server.xml, and make sure that >>> it has the following valve defined? >>> >>> <Valve >>> className="org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve"/> >>> >>> The reported jira that is mentioned above is an issue with logging. >>> >>> >>> >>> On Tue, Jul 22, 2014 at 4:58 AM, Asanka Dissanayake <[email protected]> >>> wrote: >>> >>>> >>>> >>>> >>>> On Tue, Jul 22, 2014 at 5:23 PM, Asanka Dissanayake <[email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Tue, Jul 22, 2014 at 5:03 PM, Gayashan Amarasinghe < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Dilini, >>>>>> >>>>>> Did you deploy the web app as super tenant or a tenant? What are the >>>>>> server versions you used? >>>>>> >>>>>> Method you have used is the proper way to access the tenant Id. >>>>>> >>>>> AFAIK you shouldn't use PrivilegedCarbonContext to read information. >>>>> It is used to write stuffs to the carbon context. >>>>> >>>> For more information: >>>> >>>> PrivilegedCarbonContext >>>> >>>> PrivilegedCarbonContext is a special subclass of CarbonContext, which >>>> allows you to perform privileged operations such as, setting the tenant ID >>>> and domain, starting or ending tenant flows and more. This class can only >>>> be used by Carbon components that have the permission to get hold of an >>>> instance of the PrivilegedCarbonContext. >>>> >>>> >>>> CarbonContext >>>> The CarbonContext is designed for normal tenants to retrieve >>>> information from the Carbon runtime. In the super tenant mode, for this to >>>> work the relevant data has to be set so that tenants can retrieve >>>> information using the CarbonContext. >>>> >>>>> However as Malintha has mentioned, there are some bugs when certain >>>>>> super-tenant related tasks are logged, which has not been observed for >>>>>> tenant-wise tasks. This bug will be fixed with 4.3 release. >>>>>> >>>>>> Thanks. >>>>>> >>>>>> /Gayashan >>>>>> >>>>>> >>>>>> On Tue, Jul 22, 2014 at 3:29 PM, Dilini Muthumala <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Would like to know, how to $subject. >>>>>>> >>>>>>> I tired with, >>>>>>> PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); >>>>>>> >>>>>>> which returned -1, as the tenant id. >>>>>>> >>>>>>> Thanks, >>>>>>> Dilini >>>>>>> >>>>>>> -- >>>>>>> *Dilini Muthumala* >>>>>>> Software Engineer, >>>>>>> WSO2 Inc. >>>>>>> >>>>>>> *E-mail :* [email protected] >>>>>>> *Mobile: *+94713 400 029 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> *Asanka DissanayakeSoftware Engineer* >>>>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>>>> <http://wso2.com/>* >>>>> >>>>> *email: [email protected] <[email protected]>, blog: >>>>> cyberwaadiya.blogspot.com >>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com >>>>> <http://asankastechtalks.wordpress.com> mobile: +94 71 8373821* >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> >>>> *Asanka DissanayakeSoftware Engineer* >>>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>>> <http://wso2.com/>* >>>> >>>> *email: [email protected] <[email protected]>, blog: >>>> cyberwaadiya.blogspot.com >>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com >>>> <http://asankastechtalks.wordpress.com> mobile: +94 71 8373821* >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> >>> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc. >>> email: kasung AT spamfree wso2.com >>> linked-in: http://lk.linkedin.com/in/gajasinghe >>> blog: http://kasunbg.org >>> >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> *Dilini Muthumala* >> Software Engineer, >> WSO2 Inc. >> >> *E-mail :* [email protected] >> *Mobile: *+94713 400 029 >> > > > > -- > *Dilini Muthumala* > Software Engineer, > WSO2 Inc. > > *E-mail :* [email protected] > *Mobile: *+94713 400 029 > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Sagara Gunathunga Senior Technical Lead; WSO2, Inc.; http://wso2.com V.P Apache Web Services; http://ws.apache.org/ Linkedin; http://www.linkedin.com/in/ssagara Blog ; http://ssagara.blogspot.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
