http://wso2.org/library/articles/axis2-session-management-part-2
Martin ______________________________________________ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. > Subject: AW: Field level variables > Date: Mon, 13 Sep 2010 15:02:47 +0200 > From: [email protected] > To: [email protected]; [email protected] > > Christopher > > Jeff is correct; > in service.xml there is scope="soapsession" > This makes axis2 creating a new instance of your service class > for each new user-session. > > For that your service class demands 3 more methods > > public void init(ServiceContext sCtx) throws XMLStreamException { > . . . > } > public void destroy(ServiceContext sCtx) throws XMLStreamException { > . . . > } > public void setOperationContext(OperationContext oCtx) { > . . . > } > > AND > > In axis2.xml at ./axis2/WEB-INF/conf you have to set-up > ConfigContextTimeoutInterval to a much bigger value. > The value is the TimeoutInterval in ms at which the users client has to send > latest the next session-request > to keep the service class instance (the service providing object a-life). > > This is what we understand as "LONG LASTING USER SESSIONMS" and with > AXIS2-1.2 it works greate. > > <!--This will give out the timeout of the configuration contexts, in > milliseconds--> > <parameter name="ConfigContextTimeoutInterval">28800000</parameter> > > You can look to the TimeoutInterval as the life-time of your instance, after > which destroy() gets called. > This is true unless you the user-session places a next request before this > TimeoutInterval ends; > at which time the TimeoutInterval starts from 0. > > That is what we use with our SpezplaService and AXIS2-1.2 > and I have no confirmation and did not yet test that the same is true for > AXIS2-1.5.x > > Somewhere in the Oxygen-Tank Area there is a more precise document. > > Josef > > > -----Ursprüngliche Nachricht----- > Von: Jeff Greif [mailto:[email protected]] > Gesendet: Freitag, 20. August 2010 18:03 > An: Meeusen, Christopher W. > Cc: [email protected]; [email protected] > Betreff: Re: Field level variables > > This is configurable in the deployment descriptor. The <service> > element has an attribute "scope". One allowed value of this attribute > creates an instance of the implementing class for each invocation. > > Jeff > > On 8/20/2010 7:18 AM, Meeusen, Christopher W. wrote: > > Let me try to ask this another way. Say I have a class MyService.java and > > this class has a web service method in it. What does the lifecycle of this > > class look like? Is there a new instance of MyService instantiated for each > > request to one of the methods within it, or is one instance of this class > > instantiated and multiple threads use the same instance of the class? > > > > -----Original Message----- > > From: Meeusen, Christopher W. > > Sent: Wednesday, August 18, 2010 5:45 PM > > To: [email protected] > > Cc: [email protected] > > Subject: Re: Field level variables > > > > My main concern is if this is thread safe. Are pojos re entrant in > > axis2-1.3? > > > > On Aug 18, 2010, at 17:21, "Meeusen, Christopher W." > > <[email protected] > wrote: > > > >> I’m looking through some of my colleagues code and I’m noticing some > >> field level variables declared inside one of our pojos. Someth ing > >> similar to this: > >> > >> > >> > >> Public class classA > >> > >> { > >> > >> private classB aClassb; > >> > >> > >> > >> Public classC[] aMethod() > >> > >> { > >> > >> aClassb= new classB(); > >> > >> } > >> > >> } > >> > >> > >> > >> aMethod() is exposed as a web service and is called several thousand > >> times per minute. Is this thread safe? I know it is bad to have > >> field level variables unless they are really needed but I don’t know > >> if this behavior is ok inside of the axis2 environment. > >> > >> > >> > >> Thanks, > >> > >> Chris > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >
