You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Jean-Baptiste Onofré <jb...@nanthrax.net> on 2022/05/01 04:32:08 UTC

Re: jdbc:ds-create command and "to create the datasource definition file"?

Hi Paul,

Actually pax-jdbc-config is the opposite: it creates a datasource
based on config.

I have to check what jdbc:ds-create does (I don't remember to be
honest): if it just creates the in-memory config (directly via
ConfigAdmin service), hen it's normal you don't have a cfg file
created.

Regards
JB

On Sat, Apr 30, 2022 at 6:10 PM Paul Spencer <pa...@mindspring.com> wrote:
>
> JB,
> The feature pax-jdbc-config is installed and it is referenced in "BundleLocation: mvn:org.ops4j.pax.jdbc/pax-jdbc-config/1.5.0"
>
> karaf@root()> feature:list --installed | grep -i pax-jdbc | sort
> pax-jdbc                        │ 1.5.0            │ x        │ Started │ org.ops4j.pax.jdbc-1.5.0 │ Provides JDBC Service support
> pax-jdbc-config                 │ 1.5.0            │ x        │ Started │ org.ops4j.pax.jdbc-1.5.0 │ Provides JDBC Config support
> pax-jdbc-hsqldb                 │ 1.5.0            │ x        │ Started │ org.ops4j.pax.jdbc-1.5.0 │ Provides JDBC HSQLDB DataSourceFactory
> pax-jdbc-pool-dbcp2             │ 1.5.0            │ x        │ Started │ org.ops4j.pax.jdbc-1.5.0 │ Provides JDBC Pooling DataSourceFactory
> pax-jdbc-spec                   │ 1.5.0            │          │ Started │ org.ops4j.pax.jdbc-1.5.0 │ Provides OSGi JDBC Service spec
> karaf@root()>
>
> Paul Spencer
>
>
> > On Apr 30, 2022, at 12:24 AM, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> >
> > Hi,
> >
> > The documentation is correct if we have pax-jdbc-config feature
> > installed. A factory config should be created in etc for the
> > datasource.
> >
> > Let me take a look but it's fine afair.
> >
> > Regards
> > JB
> >
> > On Fri, Apr 29, 2022 at 5:57 PM Paul Spencer <pa...@mindspring.com> wrote:
> >>
> >> Karaf 4.3.6
> >>
> >> The documentation, https://karaf.apache.org/manual/latest/#_datasources_jdbc,  for the "name" argument in the command "jdbc:ds-create" states "to create the datasource definition file (deploy/datasource-[name].xml)."  I do not see a file created in the deploy directory, but I do see a file in the cache directory for the "Apache Felix Configuration Admin Service" bundle with a generated name.
> >>
> >> 1) Is this phase inaccurate and should be removed from the documentation?
> >>
> >> 2) If the phrase is correct, how does one create the file in the deploy directory?
> >>
> >> ***
> >> * Example of creating JDBC Datasource and looking of the created data definition file in the deploy directory
> >> **
> >> karaf@root()> jdbc:ds-create -dn hsqldb -url "dbc:hsqldb:mem:." -u sa myDb
> >> karaf@root()> ds-list
> >> Name              │ Service Id │ Product              │ Version                  │ URL                                                 │ Status
> >> ──────────────────┼────────────┼──────────────────────┼──────────────────────────┼─────────────────────────────────────────────────────┼───────
> >> myDb              │ 177        │ HSQL Database Engine │ 2.5.1                    │ jdbc:hsqldb:dbc:hsqldb:mem:.                        │ OK
> >> karaf@root()> config:list '(service.factoryPid=org.ops4j.datasource)'
> >> ----------------------------------------------------------------
> >> Pid:            org.ops4j.datasource.ad014501-2db1-4455-abb9-ced214fee015
> >> FactoryPid:     org.ops4j.datasource
> >> BundleLocation: mvn:org.ops4j.pax.jdbc/pax-jdbc-config/1.5.0
> >> Properties:
> >>   dataSourceName = myDb
> >>   osgi.jdbc.driver.name = hsqldb
> >>   service.factoryPid = org.ops4j.datasource
> >>   service.pid = org.ops4j.datasource.ad014501-2db1-4455-abb9-ced214fee015
> >>   url = dbc:hsqldb:mem:.
> >>   user = sa
> >> karaf@root()> shell:ls deploy
> >> .      ..     README
> >> karaf@root()>
> >> karaf@root()> list -t 0 12
> >> START LEVEL 100 , List Threshold: 0
> >> ID │ State  │ Lvl │ Version │ Name
> >> ───┼────────┼─────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────12 │ Active │  10 │ 1.9.22  │ Apache Felix Configuration Admin Service
> >> karaf@root()>
> >> karaf@root()> shell:ls -l  data/cache/bundle12/data/config/org/ops4j/datasource/ad014501-2db1-4455-abb9-ced214fee015.config
> >> -rw-r--r--   1 paul     staff         252 Apr 29 11:30 data/cache/bundle12/data/config/org/ops4j/datasource/ad014501-2db1-4455-abb9-ced214fee015.config
> >> karaf@root()>
> >> karaf@root()> shell:cat  data/cache/bundle12/data/config/org/ops4j/datasource/ad014501-2db1-4455-abb9-ced214fee015.config
> >> :org.apache.felix.configadmin.revision:=L"1"
> >> dataSourceName="myDb"
> >> osgi.jdbc.driver.name="hsqldb"
> >> service.factoryPid="org.ops4j.datasource"
> >> service.pid="org.ops4j.datasource.ad014501-2db1-4455-abb9-ced214fee015"
> >> url="dbc:hsqldb:mem:."
> >> user="sa"
> >> karaf@root()>    karaf@root()>
> >>
> >>
> >> Paul Spencer
>