Re: Re: Teiid Camel component
On Tue, Jun 19, 2018 at 12:44 PM, Andrea Cosentino
> Not necessary. We can eventually wrap non OSGi-fied dependencies.
Yes that is correct as Andrea say. There are some components that
cannot work in OSGi or does not make sense.
However if possible we like to offer Camel components on as many
runtimes as possible. So the ServiceMix team
sometimes create OSGi bundles for 3rd party JARs that they release.
An alternative is the wrap mechanism but its not as good as a real OSGi bundle.
> Inviato da Yahoo Mail su Android
> Il mar, 19 giu, 2018 alle 12:42, Rafal Korytkowski<rkorytkowski@xxxxxxxxxx> ha scritto: Hi Claus,
> Thanks a lot for your guidance!
> I've got one follow up question. Is it a strict requirement for component's
> dependencies to be OSGI-fied?
> On Mon, Jun 18, 2018 at 9:01 AM Claus Ibsen <claus.ibsen@xxxxxxxxx> wrote:
>> Hi Rafal
>> Welcome to the Camel community.
>> It sounds great with a camel-teiid component.
>> Writing a Camel component is very open ended and you have a lot of freedom.
>> In terms of how to embed Teiid engine then Camel has no restrictions.
>> If there is one instance in the JVM, then we can let Camel
>> and use the instance in the camel-teiid component, so the end user do
>> not have to explicit configure this wiring.
>> Camel has its Registry abstraction over for example Spring Boot /
>> ApplicationContext (bean registry) or CDI's BeanManager, or OSGi
>> Service Registry etc.
>> So what other components is doing is to lookup in this registry if
>> there is a single instance of a specific class type, and then use
>> There is a little guide here how to add a new Camel component
>> We do have a maven archetype to create a new camel component project,
>> or what other people sometimes do is to copy an existing component and
>> then delete/modify its source code.
>> On Fri, Jun 15, 2018 at 12:48 PM, Rafal Korytkowski
>> <rkorytkowski@xxxxxxxxxx> wrote:
>> > Hi,
>> > We're considering implementing a Camel component for Teiid (
>> > and looking for your insights on some design aspects and general
>> > Teiid is a data virtualization engine that comes as in-place real-time
>> > integration of heterogeneous data sources (~50). Teiid exposes them
>> > a SQL engine and ODATA REST endpoints. It is typically run as a server
>> > being accessed by SQL clients.
>> > Data sources supported by Teiid are pretty much a subset of what Camel
>> > already supports, but the benefit we see is that it provides the SQL
>> > to access them all in a unified way, which makes integrations more
>> > straightforward than using custom APIs.
>> > It is currently possible to use the sql-camel/jdbc-camel component to
>> > connect to a running Teiid instance, but we are looking for a tighter
>> > integration by providing a way to embed the Teiid engine in a Camel
>> > component. It would simplify its usage.
>> > Would you have any recommendations for writing such a component?
>> > One aspect we need to consider is, if it would be possible to reuse
>> > an instance of Teiid within a route or across routes or share some of
>> > Teiid's metadata so that we do not have to bring up an instance each
>> > Finally, we have just started a similar conversion on the Teiid forum so,
>> > if you are interested please also see
>> > https://developer.jboss.org/thread/278138
>> > --
>> > -Rafał
>> Claus Ibsen
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
Camel in Action 2: https://www.manning.com/ibsen2