I would simply deploy the blueprint xml by hand. Just treat it like a
config file you would have to add.
This is of course not everyone´s favorite style.

The problem with adding the blueprint to the feature is that it would have
to be in the maven repo. As the username and password are in this file this
is not recommended.

So another way to achieve what I did is separate the things that should be
configured per server or stage from the things that keep the same like
driver class name. You could use the config admin service in the blueprint
file to move the username / password to a separate config file.
This would make the whole thing a bit more complex though but you could
then safely put the blueprint file into a feature.

Christian


2012/4/16 Borut Bolčina <[email protected]>

> Hello,
>
> my first post here, so bare with me please - newbie on board.
>
> I am trying to deploy my first camel route to Karaf and this route must be
> configurable (html address) and must persist some data with jpa component.
> This route is happily persisting in my test (outside osgi container).
>
> Now I am reading
> https://github.com/cschneider/Karaf-Tutorial/blob/master/db/datasource/datasource-mysql.xml
>  where
> it says I should copy the file to Karaf's deploy folder.
>
> And the question: What is the practice of deploying data sources? Should I
> create a features project which includes a blueprint for my route's data
> source?
>
> Let's say my route needs connection to mysql database, so the feature
> project would include features.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0
> http://karaf.apache.org/xmlns/features/v1.0.0";>
>
> <feature name="weather" version="${pom.version}">
>
> <bundle>mvn:mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/1.9.0</bundle>
>  <bundle>mvn:mvn:mysql/mysql-connector-java/5.1.18</bundle>
> <bundle>mvn:my.company/route-weather-current/${pom.version}</bundle>
>  *<bundle>my datasource blueprint</bundle>*
> <configfile
> finalname="/etc/weather.cfg">mvn:my.company/features-weather/${pom.version}/cfg</configfile>
>  </feature>
> </features>
>
> I guess then the only command to install my Camel route to Karaf would
> then be feature:install and all the dependencies including datasource and
> configuration would be installed before. And how to package the "my
> datasource blueprint"?
>
> Or is there some other practice?
>
> Thanks,
> borut
>

Reply via email to