ie
class mybla extends action
static{
//your stuff gets executed only once when the class is loaded}
You can then have different actions for different subsitemaps.
it's a bit of a bodge but could do the trick here.
Jean-Luc Mathieu wrote:
I'm new to this mailing list (and Cocoon), I didn't new this expression, but it sounds great ! I will print it and put it on the wall in front of me .. :-D
In fact, I have to run a static method in a class which configure my application. This method must be run once, before some sub-sitemaps that use initialized data run. So the operations are :
- Cocoon starts - A user requests a page that is served by a sub-sitemap, say /cocoon/sub1/... - The init static method is run - The page is built and served - Another user request a page in the same sub-sitemap (/cocoon/sub1/...) - The page is directly built and served ...
One way to do it is to initialize all data in the init process of the
CocoonServlet, but I have to override CocoonServlet, and i lose sitemap
hierarchy and scalability - but it works. Second way is what Unico said, but the action is always run, not only the first time the
sub-sitemap is mounted - it can become a potential performance bottleneck. I'm
sure there is a lot of other ways to do it ...
Regards, JL
-----Message d'origine----- De : news [mailto:[EMAIL PROTECTED] De la part de Jorg Heymans Envoy� : mardi 2 mars 2004 10:04 � : [EMAIL PROTECTED] Objet : Re: Sub-sitemap static initialization
Can you explain your use-case a bit more? Remember TUIMTOWTDIIC - there usually is more than one way to do it in Cocoon :) Jean-Luc Mathieu wrote:
Hmm, I tested it, and you're right. Finally, it's not completely what I
wanted
to do. Any other ideas ?
-----Message d'origine----- De : news [mailto:[EMAIL PROTECTED] De la part de Jorg Heymans Envoy� : mardi 2 mars 2004 08:47 � : [EMAIL PROTECTED] Objet : Re: Sub-sitemap static initialization
One thing I can think of that you could do is to wrap your sitemap mount with an action.
The mounting sitemap:
<map:match pattern="blah/**"> <map:act type="initscript"> <map:mount src="sitemap" uri-prefix="blah" /> </map:act> </map:match>
How does the above guarantee that the action is only run once? Subsequent requests to blah/whatever from different users will run the action again IMO, unless there is something in the action that knows it has been run once.
The initscript would execute the script only once.
Hope that helps, Unico
Jean-Luc Mathieu wrote:
Hello !
I have to launch an init script (a Java piece of program) at Cocoon startup (more precisely on the time the first user to connect requests a specific sub-sitemap). Is it a simple way to do this using for example sitemaps only, or I have to override CocoonServlet ? Thank you in advance.
Jean-Luc
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
