[ 
http://issues.apache.org/jira/browse/HIVEMIND-72?page=comments#action_12425732 
] 
            
Knut Wannheden commented on HIVEMIND-72:
----------------------------------------

Now (HiveMind version 1.2) that there are assembly instructions (i.e. 
<assembly> elements) this issue can almost be closed I believe. The only thing 
missing is probably a versatile service implementation factory. Besides 
retrieving the core service implementation using a method of another service 
(as you propose) it could be useful to retrieve it from an object provider. E.g.

<invoke-factory service-id="hivemind.library.ObjectProviderFactory">
  <instance object="service-property:MyServiceA:serviceB"/>
  <assembly>
    <listener service-id="hivemind.ShutdownCoordinator"/>
  </assembly>
</invoke-factory>

> BuilderFactory extension
> ------------------------
>
>                 Key: HIVEMIND-72
>                 URL: http://issues.apache.org/jira/browse/HIVEMIND-72
>             Project: HiveMind
>          Issue Type: Improvement
>          Components: framework
>            Reporter: Istvan Orban
>            Priority: Minor
>         Attachments: FactoryObjectProvider.java, 
> FactoryObjectProviderTest.java
>
>
> Hi,
> I asked about this thing on the mailing list, since it was not a bad idea I 
> though it's best to create here. 
> If you have a service (B) which can only be instanciated by an other
> factory service (A). you have to write your own factory class which
> implements the
> ServiceImplementationFactory. I have seen some example of doing it.
> I think this is a general problem that. the BuilderFactory should not
> instance the class by calling it's contructor but to call an other
> service's method.
> would extending the BuilderFactory be a good idea on the following way.
>       <invoke-factory service-id="hiveMind:BuilderFactory">
>             <construct class="MyServiceB"
> contructor-service-id="MySerciceA" constructor-method="createServiceB">
>               .....
>               <event-listener
> service-id="hivemind.ShutdownCoordinator"/>
>             </construct>
>        </invoke-factory>
> with these extra tags one could specify which method of the MyServiceA
> returns an instance of the MyServiceB
> so I can use all the power of the Configuration and Autowite provided
> already by the the BuilderFactory etc.
> I'm asking this because I have seen examples (providing hivernate
> session and transaction stuff) where they just implemented the
> 'ServiceImplementationFactory' but then you have to write again all the
> cool function which does the autowite and all other cool stuff for you.... 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to