Jorg Heymans wrote:

When you say a new component then you mean new class right?
I don't want the class it to be accessed by more than 1 thread at the same
time, are you saying this is the default behaviour?

If you extend org.apache.cocoon.transformation.Transformer (etc), you are creating an Avalon component. How that component is handled depends upon the interfaces that it implements. As Konstantin mentioned, there's Poolable and ThreadSafe. If you do not implement any of these, a new component will be created for each request. If you implement ThreadSafe, your component will be reused.

So, by default, a component will not be shared between more than one thread.

Regards, Upayavira


Tnx Jorg

-----Original Message-----
From: Upayavira [mailto:[EMAIL PROTECTED] Sent: Montag, 1. September 2003 15:43
To: [EMAIL PROTECTED]
Subject: Re: thread safety of cocoon


Jorg Heymans wrote:



Say i write my own transformer (or serializer, or generator doesn't


matter),


is it true then that a new instance of my custom class is created each time
it is executed in a pipeline? (uncached)

My code relies on a few instance variables (simple ones like Logger but


also


more crucial ones like StringBuffers for SAX parsing ), I'ld really hate to
find out now that instance variables aren't thread safe in cocoon.





AFAIU, you need to make your component implement ThreadSafe for it to be shared across threads. The default is that a new component is created for each invocation.

Regards, Upayavira



---------------------------------------------------------------------
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]



Reply via email to