I have made another major improvement to the valve chaining. Now we have a proper valve chain as follows:
TomcatValve chain -> CarbonTomcatValve chain -> TomcatValve chain So, CarbonTomcatValves can get hold of the response after the TomcatValves & webapp have properly processed it. Please test this and let me know how it goes. Azeez On Thu, Jul 11, 2013 at 7:27 PM, Dinusha Senanayaka <[email protected]>wrote: > Thanks Azeez.. This works fine.. > > Regards, > Dinusha. > > > On Thu, Jul 11, 2013 at 3:27 PM, Afkham Azeez <[email protected]> wrote: > >> Get another update of the kernel. I had to add a no-op valve to avoid an >> NPE. >> >> >> On Thu, Jul 11, 2013 at 3:24 PM, Dinusha Senanayaka <[email protected]>wrote: >> >>> >>> >>> On Thu, Jul 11, 2013 at 3:20 PM, Afkham Azeez <[email protected]> wrote: >>> >>>> I have implemented this and committed. >>>> >>>> Get updates of kernel/core and components. >>>> >>>> Please test this today & let me know if there are any issues. >>>> >>> Thanks.. will test this using apimgt valve and let you know. >>> >>> Regards, >>> Dinusha. >>> >>>> >>>> Azeez >>>> >>>> >>>> On Thu, Jul 11, 2013 at 2:38 PM, Afkham Azeez <[email protected]> wrote: >>>> >>>>> Looks like only the following have valves: >>>>> >>>>> ./apimgt/org.wso2.carbon.apimgt.interceptor/src/main/java/org/wso2/carbon/apimgt/interceptor/valve/.svn/text-base/APIManagerInterceptorValve.java.svn-base:public >>>>> class APIManagerInterceptorValve implements CarbonTomcatValve { >>>>> ./apimgt/org.wso2.carbon.apimgt.interceptor/src/main/java/org/wso2/carbon/apimgt/interceptor/valve/APIManagerInterceptorValve.java:public >>>>> class APIManagerInterceptorValve implements CarbonTomcatValve { >>>>> >>>>> >>>>> >>>>> ./stratos/throttling/org.wso2.carbon.throttling.agent/src/main/java/org/wso2/carbon/throttling/agent/listeners/.svn/text-base/WebAppRequestListener.java.svn-base:public >>>>> class WebAppRequestListener implements CarbonTomcatValve { >>>>> ./stratos/throttling/org.wso2.carbon.throttling.agent/src/main/java/org/wso2/carbon/throttling/agent/listeners/WebAppRequestListener.java:public >>>>> class WebAppRequestListener implements CarbonTomcatValve { >>>>> ./url-mapper/org.wso2.carbon.url.mapper/src/main/java/org/wso2/carbon/url/mapper/.svn/text-base/UrlMapperValve.java.svn-base:public >>>>> class UrlMapperValve implements CarbonTomcatValve { >>>>> ./url-mapper/org.wso2.carbon.url.mapper/src/main/java/org/wso2/carbon/url/mapper/UrlMapperValve.java:public >>>>> class UrlMapperValve implements CarbonTomcatValve { >>>>> ./webapp-mgt/org.wso2.carbon.webapp.mgt/src/main/java/org/wso2/carbon/webapp/mgt/.svn/text-base/GhostWebappDeployerValve.java.svn-base:public >>>>> class GhostWebappDeployerValve implements CarbonTomcatValve { >>>>> ./webapp-mgt/org.wso2.carbon.webapp.mgt/src/main/java/org/wso2/carbon/webapp/mgt/.svn/text-base/TenantLazyLoaderValve.java.svn-base:public >>>>> class TenantLazyLoaderValve implements CarbonTomcatValve { >>>>> ./webapp-mgt/org.wso2.carbon.webapp.mgt/src/main/java/org/wso2/carbon/webapp/mgt/GhostWebappDeployerValve.java:public >>>>> class GhostWebappDeployerValve implements CarbonTomcatValve { >>>>> ./webapp-mgt/org.wso2.carbon.webapp.mgt/src/main/java/org/wso2/carbon/webapp/mgt/TenantLazyLoaderValve.java:public >>>>> class TenantLazyLoaderValve implements CarbonTomcatValve { >>>>> >>>>> >>>>> On Thu, Jul 11, 2013 at 2:36 PM, Afkham Azeez <[email protected]> wrote: >>>>> >>>>>> Can somebody provide me a list of components which contain >>>>>> implementations of CarbonTomcatVale >>>>>> >>>>>> Azeez >>>>>> >>>>>> >>>>>> On Thu, Jul 11, 2013 at 2:33 PM, Dinusha Senanayaka <[email protected] >>>>>> > wrote: >>>>>> >>>>>>> Hi Shariq, >>>>>>> >>>>>>> On Thu, Jul 11, 2013 at 2:24 PM, Shariq Muhammed <[email protected]>wrote: >>>>>>> >>>>>>>> On Thu, Jul 11, 2013 at 2:10 PM, Dinusha Senanayaka < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jul 11, 2013 at 1:50 PM, Afkham Azeez <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> I took a look at the code, and the only problem I see is the >>>>>>>>>> order of registering valves. If the ordering is not a problem, then >>>>>>>>>> we can >>>>>>>>>> easily implement it. I will look into implementing this. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks Azeez.. yes, the problem that we had with carbon tomcat >>>>>>>>> valve was, only the requests are going through that valve but not the >>>>>>>>> responses. And we need to handle response as well through the valve. >>>>>>>>> >>>>>>>> >>>>>>>> Um are you sure that's how it works ?! I was under the impression >>>>>>>> that once you call; >>>>>>>> >>>>>>>> getNext().invoke(request, response); >>>>>>>> >>>>>>>> The next wave will be hit, and the response will also go through >>>>>>>> the same valve chain, check [1]. >>>>>>>> >>>>>>>> [1] - >>>>>>>> https://svn.wso2.org/repos/wso2/carbon/platform/trunk/components/data-agents/org.wso2.carbon.bam.webapp.stat.publisher/src/main/java/org/wso2/carbon/bam/webapp/stat/publisher/WebAppStatisticPublisherValve.java >>>>>>>> >>>>>>> >>>>>>> getNext().invoke(request, response); can be used only inside tomcat >>>>>>> valves (when you extended from ValveBase). But it cannot be used in >>>>>>> CarbonTomcatValve. That's what we have mentioned here.. >>>>>>> >>>>>>> Regards, >>>>>>> Dinusha. >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Dinusha. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Azeez >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Jul 11, 2013 at 1:37 PM, Afkham Azeez <[email protected]>wrote: >>>>>>>>>> >>>>>>>>>>> Sorry, maintaining your own cartalina.xml is not acceptable. I >>>>>>>>>>> spoke to NuwanD and mentioned how the current carbon Tomcat valve >>>>>>>>>>> has to be >>>>>>>>>>> changed to support the chaining model. you will need to >>>>>>>>>>> implement a Carbon tomcat valve, not a Catalina valve >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Jul 11, 2013 at 1:16 PM, Dinusha Senanayaka < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi All, >>>>>>>>>>>> >>>>>>>>>>>> When embedding api-management functionalities into GReg, we >>>>>>>>>>>> had to wrote an tomcat valve as an interceptor for handlerequests. >>>>>>>>>>>> For that we implemented a direct tomcat valve which extended from >>>>>>>>>>>> catalina.valves.ValveBase instead of CarbonTomcatValve. But >>>>>>>>>>>> currently we don't have a way to register this tomcat valve >>>>>>>>>>>> programmatically, we have to manually register this using >>>>>>>>>>>> catalina-server.xml. >>>>>>>>>>>> >>>>>>>>>>>> For Greg , we have to maintain a it's own catalina-server.xml >>>>>>>>>>>> file at the product level by including apimgt-valve into it >>>>>>>>>>>> and override the catalina-server.xml coming from the >>>>>>>>>>>> platform.. Instead of doing like that, is it possible to support >>>>>>>>>>>> the >>>>>>>>>>>> registering of tomcat valves programmatically in future ? >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Dinusha. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Dinusha Dilrukshi >>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>> WSO2 Inc.: http://wso2.com/ >>>>>>>>>>>> Mobile: +94725255071 >>>>>>>>>>>> Blog: http://dinushasblog.blogspot.com/ >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Afkham Azeez* >>>>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>>>> * <http://www.apache.org/>** >>>>>>>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>>>>> twitter: >>>>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>>>>> * >>>>>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>>>>> * >>>>>>>>>>> * >>>>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Afkham Azeez* >>>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>>> * <http://www.apache.org/>** >>>>>>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>>>> twitter: >>>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>>>> * >>>>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>>>> * >>>>>>>>>> * >>>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Dinusha Dilrukshi >>>>>>>>> Senior Software Engineer >>>>>>>>> WSO2 Inc.: http://wso2.com/ >>>>>>>>> Mobile: +94725255071 >>>>>>>>> Blog: http://dinushasblog.blogspot.com/ >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Dev mailing list >>>>>>>>> [email protected] >>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks, >>>>>>>> Shariq. >>>>>>>> Phone: +94 777 202 225 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Dinusha Dilrukshi >>>>>>> Senior Software Engineer >>>>>>> WSO2 Inc.: http://wso2.com/ >>>>>>> Mobile: +94725255071 >>>>>>> Blog: http://dinushasblog.blogspot.com/ >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Afkham Azeez* >>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>> * <http://www.apache.org/>** >>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>> twitter: >>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>> * >>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>> * >>>>>> * >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Afkham Azeez* >>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>> * <http://www.apache.org/>** >>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>> twitter: >>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>> * >>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>> * >>>>> * >>>>> *Lean . Enterprise . Middleware* >>>>> >>>> >>>> >>>> >>>> -- >>>> *Afkham Azeez* >>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>> Member; Apache Software Foundation; http://www.apache.org/ >>>> * <http://www.apache.org/>** >>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>> twitter: >>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>> * >>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>> * >>>> * >>>> *Lean . Enterprise . Middleware* >>>> >>> >>> >>> >>> -- >>> Dinusha Dilrukshi >>> Senior Software Engineer >>> WSO2 Inc.: http://wso2.com/ >>> Mobile: +94725255071 >>> Blog: http://dinushasblog.blogspot.com/ >>> >> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>** >> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >> * >> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >> * >> * >> *Lean . Enterprise . Middleware* >> > > > > -- > Dinusha Dilrukshi > Senior Software Engineer > WSO2 Inc.: http://wso2.com/ > Mobile: +94725255071 > Blog: http://dinushasblog.blogspot.com/ > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>** email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
