hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hensley, Richard" <>
Subject RE: Service instanciation
Date Tue, 23 Nov 2004 21:37:52 GMT

Threaded means that you get a new instance for each thread, not each time
you call getService(). I'm not sure how to configure HiveMind to do what you


-----Original Message-----
From: Stephane Louet [] 
Sent: Tuesday, November 23, 2004 1:26 PM
Subject: Service instanciation

I have a newbie question for you guys. I have declared a service point that 
looks like below:

<service-point id="AttrDef" interface="mypackage.attr.AttrDef">
    	<invoke-factory model="threaded">
    	  <construct class="mypackage.attr.impl.AttrDefImpl"/>
    	<interceptor service-id="hivemind.LoggingInterceptor"/>

I have used "threaded" because I want a new instance of AttrDefImpl every 
time I do a .getService( AttrDef.class ). But if I do something like:

AttrDef attrDef1 = (AttrDef)registry.getService( AttrDef.class );
attrDef1.setName( "1" );

AttrDef attrDef2 = (AttrDef)registry.getService( AttrDef.class );
attrDef2.setName( "2" );

System.out.println( "attrDef1=" + attrDef1.getName() + ", attrDef2=" + 
attrDef2.getName() );

I basically get the following attrDef1=2, attrDef2=2. It looks like 
.getService() returns the same element (a singleton?) every time. I believe 
I am missing something here ;-)

Any help appreciated,

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message