[xwiki-devs] Big ThreadLocal patch coming...
Hi devs, I'd like to commit my big threadlocal patch. What it does is the following: * introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now. * initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods. * All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code... Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code. Let me know if you're ok. Thanks -Vincent
Vincent Massol wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
OK for me. -- Sergiu Dumitriu http://purl.org/net/sergiu/
Guys, I need more feedback before I can apply it. I need to know if it's ok for most of you at least... :) Thanks -Vincent On May 21, 2008, at 4:36 PM, Sergiu Dumitriu wrote:
Vincent Massol wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
OK for me.
No pb with me, go ahead :) Jerome.
Guys, I need more feedback before I can apply it. I need to know if it's ok for most of you at least... :)
Thanks -Vincent
On May 21, 2008, at 4:36 PM, Sergiu Dumitriu wrote:
Vincent Massol wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
OK for me.
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
OK for me. Vincent Massol wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
Thanks -Vincent
-- Artem Melentyev
OK for me On Wed, May 21, 2008 at 3:19 PM, Vincent Massol <vincent@massol.net> wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
Thanks -Vincent _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Ok for me. On Wed, May 21, 2008 at 3:19 PM, Vincent Massol <vincent@massol.net> wrote:
Hi devs,
I'd like to commit my big threadlocal patch. What it does is the following:
* introduce a new VelocityManager component with 2 methods: getVelocityContext() and getVelocityEngine() that have to be used from now one whenever code needs to get the velocity context or evaluate some velocity templates. Note that these methods are called in the XWikiVelocityRenderer for now so nothing to change elsewhere for now.
* initialize the new Container objects (request, response, session) in places where threads are created. This is required because request, response and session are saved in ThreadLocal variables so that we don't have to pass them to all methods.
* All this is required for me to implement the new VelocityMacro in the new rendering mechanism since that component needs access to the VelocityContext and VelocityEngine but without using the old code...
Since this is a complex patch it's very likely it'll break things. I've tested several cases and it seems to be ok but I'm pretty sure there'll be edge cases that may not work. I'd still like to commit since it's getting big and I'd rather we commit it now rather than later since we're still in 1.5M1 stage. I also need to progress on the new rendering mechanism and this is prerequisite code.
Let me know if you're ok.
Thanks -Vincent _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Jean-Vincent Drean
participants (6)
-
Artem Melentyev -
Jean-Vincent Drean -
Jerome Velociter -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol