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

Reply via email to