"Neil Stevens" <[EMAIL PROTECTED]> writes:

>do actions need to be thread safe? Are they pooled and reused?

Well, "pooled" might be the wrong word.. :-)

If you put

"modules.cache = true"

in your Properties, the loaders for Action, Layout, Navigation, Screen
and Page will keep references on the objects from these classes (which
does _not_ mean, that your templates will be cached! Just the classes
that render them. This is mainly interesting for the Action objects)
and their reuse. You can take a closer look at the ActionLoader class
for an example.

These classes are just glorified Hashtables. Even the sizing
parameters don't really change anything, they just adjust the initial
size of the hashtables.

Well, another "Fettecke". :-)

If you keep "modules.cache" off, then the class objects are reinstantiated
every time an Action is requested.

ActionLoader.getInstance()

calls getAssembler() from the AssemblerBrokerService, which gets the
Assembler (the Action) from the AssemblerBrokerService
("Assembler" is everything that "pulls parts together". A Screen is
 an Assembler, a Page, Layout, Navigation and also an Action is. Yes,
the name sucks. Wasn't my idea. It is also an abstract Base Class
where an interface would have been better).

AssemblerBroker has for every "kind" of Assembler classes one or
more factories registered. For the Action, this ususally is
o.a.t.services.assemblerbroker.util.java.JavaActionFactory which just
looks for   action.<xxx> in all the registered module packages. If
it finds a class it does Class.forName() on it.

Thread safe? Hm. I'd say no without caching and yes if caching is
activated. So make this a "yes".

        Regards
                Henning
-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     [EMAIL PROTECTED]

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   [EMAIL PROTECTED]
D-91054 Buckenhof     Fax.: 09131 / 50654-20   

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to