Hi Tim,

thanks again for your quick response. I finally got it. The the
service.pid was missing in the config. I thought, since it is a service
factory, it does not make sense to set a service.pid.
But as soon as I put it in with an arbitary value, it worked. I'm not
very familiar with ConfigAdmin, but I should change that soon ;)

Regards,
Henrik


Am 13.09.2016 um 18:36 schrieb Tim Ward:
> Hi Henrik,
>
> I see from the configuration that you're trying to use the PAX JDBC version 
> of H2. I normally just use the vanilla H2 driver which works fine, but for 
> this you will need to be sure that the PAX bundle is present.
>
> It would also be useful to see the scr:info output. The "unsatisfied" could 
> also be due to a missing configuration - I seem to remember that the DAO has 
> a required configuration, and that it may need its provider.target filter to 
> be set to pull in the PU.
>
> Regards,
>
> Tim
>
> Sent from my iPhone
>
>> On 13 Sep 2016, at 04:09, Henrik Niehaus <henrik.nieh...@gmx.de> wrote:
>>
>> Hey Tim,
>>
>> that's what I tried earlier, but I seem to be missing something. When I
>> start the app, I can see that Hibernate is initialized. But the log then
>> contains a warning, which makes me think, that the JDBC connection is
>> not picked up / created:
>>
>> WARN: HHH000342: Could not obtain connection to query metadata : null
>>
>> Furthermore, when I inspect the PersonDaoImpl with scr:info, I can see
>> that the provider reference is unsatisfied. And from here I don't know
>> what to check to get it running.
>>
>> My configuration looks like this (enroute configurer):
>> [
>>    {
>>        "service.factoryPid": "org.apache.aries.tx.control.jpa.local",
>>        "osgi.unit.name": "addressBookPU",
>>        "aries.dsf.target.filter": "(osgi.jdbc.driver.name=h2)",
>>        "user": "sa",
>>        "password": "",
>>        "databaseName": "mem:enroute_addressbook",
>>        "dataSourceName": "addressBookDS-H2",
>>        "url": "jdbc:h2:mem:enroute_addressbook;DB_CLOSE_DELAY=-1"
>>
>>    }
>> ]
>>
>> and the persistence.xml:
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence";
>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>   xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd";
>>   version="2.0">
>>
>>  <persistence-unit name="addressBookPU">
>>    <description>Persistence unit for the Transaction Control JPA
>> Example</description>
>>
>>    <properties>
>>        <property name="hibernate.dialect"
>> value="org.hibernate.dialect.H2Dialect"/>
>>        <property
>> name="javax.persistence.schema-generation.database.action"
>> value="drop-and-create"/>
>>    </properties>
>>  </persistence-unit>
>> </persistence>
>>
>>
>> Greetings
>> Henrik
>>
>>
>>> Am 08.09.2016 um 20:56 schrieb Timothy Ward:
>>> Hi Henrik
>>>
>>> The configuration “glue” that sticks these together is actually
>>> present in the test. 
>>>
>>> You need to provide a factory configuration for the JPA resource
>>> provider (factory pid org.apache.aries.tx.control.jpa.local)
>>>
>>> It needs to contain at a minimum:
>>>
>>>  * The name of the persistence unit (keyed using
>>>    the osgi.unit.name property)
>>>  * A way to identify the JDBC provider, either
>>>    the osgi.jdbc.driver.class property or the aries.dsf.target.filter)
>>>  * The connection information for the JDBC connection (e.g. the url)
>>>
>>>
>>> The full set of configuration is documented at the Apache Aries
>>> website
>>> at 
>>> http://aries.apache.org/modules/tx-control/localJPA.html#resource-provider-properties
>>>
>>>
>>> Regards,
>>>
>>> Tim
>>>
>>>
>>>> On 8 Sep 2016, at 10:12, Henrik Niehaus <henrik.nieh...@gmx.de
>>>> <mailto:henrik.nieh...@gmx.de>> wrote:
>>>>
>>>> Thanks Tim, that helped a lot already. I could never have figured out
>>>> all these special instructions in the bnd files.
>>>>
>>>> I can successfully run the ...dao.test as osgi framwork junit test. And
>>>> in my own application I'm also at the point that all dependencies of the
>>>> run descriptor can be resolved. I can also see, that hibernate comes up,
>>>> when I start the framework. But I still have no clue how to tie the
>>>> persistence unit and the datasource configuration together. So at the
>>>> moment hibernate is missing a datasource. I would like to be able to
>>>> configure a datasource with config admin and then somehow bind that DS
>>>> to the persistence unit.
>>>> It would be really kind of you, if you could have another look at the
>>>> example and adjust it, so that the application can be started without
>>>> errors.
>>>>
>>>> Regards
>>>> Henrik
>>>>
>>>>> Am 08.09.2016 um 01:59 schrieb Timothy Ward:
>>>>> As requested:
>>>>>
>>>>>
>>>>> https://github.com/timothyjward/osgi.enroute.examples.jdbc/tree/jpa-example
>>>>>
>>>>> It’s a bit rough around the edges, but it sets up Hibernate, Aries
>>>>> JPA, Aries Transaction Control, and replaces the DAOs. The tests
>>>>> should all pass too.
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Tim
>>>>>
>>>>>
>>>>>> On 7 Sep 2016, at 09:40, Henrik Niehaus <henrik.nieh...@gmx.de
>>>>>> <mailto:henrik.nieh...@gmx.de>> wrote:
>>>>>>
>>>>>> Thanks Peter,
>>>>>> I actually got that working and used it to implement a MySQL backend
>>>>>> for Felix UserAdmin. But know I want to switch to JPA, because for
>>>>>> bigger object structures it gets quite complicated to do it all with
>>>>>> JDBC only. Unfortunately I cant get this reference
>>>>>>
>>>>>> @Reference EntityManagerFactoryBuilder emfb;
>>>>>>
>>>>>> to be resolved. That's why I was asking for an example.
>>>>>>
>>>>>> -Henrik
>>>>>>
>>>>>>> Am 07.09.2016 um 18:34 schrieb Peter Kriens:
>>>>>>> You could take a look
>>>>>>> at https://github.com/osgi/osgi.enroute.examples.jdbc
>>>>>>>
>>>>>>> It wasn’t completely finished and reviewed but I think it works.
>>>>>>>
>>>>>>> Kind regards,
>>>>>>>
>>>>>>> Peter Kriens
>>>>>>>
>>>>>>>> On 7 sep. 2016, at 18:33, Henrik Niehaus <henrik.nieh...@gmx.de
>>>>>>>> <mailto:henrik.nieh...@gmx.de>
>>>>>>>> <mailto:henrik.nieh...@gmx.de>> wrote:
>>>>>>>>
>>>>>>>> Does anybody have a working example for tx-control with JPA? I know
>>>>>>>> there is a brief explation at [1], but I'm struggling with the
>>>>>>>> configuration and don't exactly know, which dependencies to use. It
>>>>>>>> would be very nice, if someone could provide a small self contained
>>>>>>>> code
>>>>>>>> example (preferably a bnd workspace).
>>>>>>>>
>>>>>>>> BR
>>>>>>>>
>>>>>>>> -Henrik
>>>>>>>>
>>>>>>>> [1] http://aries.apache.org/modules/tx-control/localJPA.html
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> OSGi Developer Mail List
>>>>>>>> osgi-dev@mail.osgi.org
>>>>>>>> <mailto:osgi-dev@mail.osgi.org> <mailto:osgi-dev@mail.osgi.org>
>>>>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> OSGi Developer Mail List
>>>>>>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
>>>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>>>>
>>>>>> _______________________________________________
>>>>>> OSGi Developer Mail List
>>>>>> osgi-dev@mail.osgi.org
>>>>>> <mailto:osgi-dev@mail.osgi.org> <mailto:osgi-dev@mail.osgi.org>
>>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> OSGi Developer Mail List
>>>>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>>
>>>> _______________________________________________
>>>> OSGi Developer Mail List
>>>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>
>>>
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev


_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to