Your observation about the caller being the proxied side is interesting.  I
hadn't really thought about it before.  Conceptually I'd always assumed
that it would be the registration that would proxy the
interface/implementation and that whomever grabbed got that.  When the
service would change then the proxy could stay the same but the internally
delegated class would be different.  Interesting.

On Sat, Feb 27, 2016 at 1:30 PM, Brad Johnson <brad.john...@mediadriver.com>
wrote:

> I think you're right from what I'm seeing.  I'll probably have to resort
> to an Activator and register the service. I'm just making this so that I
> can change the cfg file and switch the internal implementation between
> three different types: test, impl, or remote.  Test just serves up dummy
> data, impl is what it sound like and remote is an implementation with a
> ProducerTemplate that in turn delegates calls to URIs for easy
> distribution.
>
> I can make that easy enough if I just use a Class.forName on a passed in
> String and delegate to it but I'm trying to color within the lines.
>
> On Sat, Feb 27, 2016 at 1:18 PM, Quinn Stevenson <
> qu...@pronoia-solutions.com> wrote:
>
>> I don’t believe the way the service is exposed has any bearing on when a
>> proxy is created - the proxy is created by the <reference ….>, not the
>> <service>
>>
>> Also, if you’re trying to achieve a service with the properties of an
>> OSGi Service Factory (i.e. one service instance per calling bundle), I
>> don’t think what you have will work - you’ll wind up with a single instance
>> of the service in the container.  See this JIRA for a little more info as
>> to why. https://issues.apache.org/jira/browse/KARAF-4284
>>  <https://issues.apache.org/jira/browse/KARAF-4284>
>>
>>  <https://issues.apache.org/jira/browse/KARAF-4284?filter=-2>
>> > On Feb 26, 2016, at 2:35 PM, Brad Johnson <brad.john...@mediadriver.com>
>> wrote:
>> >
>> > Just a quick follow up to that question, the class is not proxied in
>> CBTS
>> > but that may be an impedance mismatch between the test harness and an
>> > actual OSGi container and not indicative of how it will be handled by
>> > blueprint in Karaf.
>> >
>> > On Fri, Feb 26, 2016 at 3:23 PM, Ranx <brad.john...@mediadriver.com>
>> wrote:
>> >
>> >> If I create a service factory instantiated in blueprint like this:
>> >>
>> >>        <bean id="service" class="fo.bar.ServiceFactory"
>> >> factory-method="createService" >
>> >>                <argument value="${serviceClassImpl}"/>
>> >>
>> >>        </bean>
>> >>        <service ref="service" interface="foo.api.MyOSGiService" />
>> >>
>> >> And inside the factory just do a Class.forName to instantiate and
>> return
>> >> it,
>> >> will the service reference itself be proxied?
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >> http://camel.465427.n5.nabble.com/ServiceFactory-tp5778336.html
>> >> Sent from the Camel - Users mailing list archive at Nabble.com.
>> >>
>>
>>
>

Reply via email to