By the way, this obviously can't work since Blueprint isn't an Oroboros.  I
guess something like it would be possible with DS since it doesn't hang in
grace waiting for self-fulfillment.

    <bean id="microserviceManager"
class="org.enjekt.osgi.microserver.impl.MicroWebserviceManager"
init-method="init"
        destroy-method="destroy">
        <property name="configuration"
ref="microserviceServerConfiguration" />
    </bean>

    <reference-list id="microserviceListener"
interface="org.enjekt.osgi.microserver.api.MicroWebservice">
        <reference-listener bind-method="register"
unbind-method="unregister">
            <ref component-id="microserviceManager" />
        </reference-listener>
    </reference-list>

    <service interface="org.enjekt.osgi.microserver.api.MicroWebservice">
        <bean
class="org.enjekt.osgi.microserver.impl.MicroWebserviceRegistration">
            <argument
value="org.enjekt.osgi.microserver.api.MicroserverManager" />
            <argument ref="microserviceManager" />
        </bean>
    </service>

On Fri, Apr 1, 2016 at 3:47 PM, Brad Johnson <[email protected]>
wrote:

> I have a structure that looks like the following:
>
>
>
>     <bean id="microserviceManager"
> class="org.enjekt.osgi.microserver.impl.MicroWebserviceManager"
> init-method="init" destroy-method="destroy">
>         <property name="configuration"
> ref="microserviceServerConfiguration" />
>     </bean>
>
>     <reference-list id="microserviceListener"
> interface="org.enjekt.osgi.microserver.api.MicroWebservice">
>         <reference-listener bind-method="register"
> unbind-method="unregister">
>             <ref component-id="microserviceManager" />
>         </reference-listener>
>     </reference-list>
>
>
>
> The configuration information is all about the interceptors, ports,
> providers, etc. I want to associate with this microserver.  The problem is
> that during startup the manager will hang if there isn't anything in the
> list.  I use the refererence-list because I want any and all bundles that
> expose themeselves via a MicroWebservice interface to be picked up and not
> just the first one.
>
> But it doesn't seem there's a way to do an optional/mandatory with this.
> Obviously I want this bundle to come up self-sufficiently.   Incidentally,
> the classes for this live in a different bundle so that different service
> managers can be started up and I could use filtering on the MicroWebservice
> to determine which bundle actually gets exposed.
>
> Is there a way to do this without having to artificially introduce a
> MicroWebservice registration?  It may not matter in the end as I may set up
> a monitoring/configuration component for each MicroWebserviceManager
> anyway.  I just haven't gotten to that point and would prefer this to be
> self-sufficient in any case.
>
> Brad
>

Reply via email to