Hi JB, that's true and sorry, we did not want to deny the dynamic flexibility at all ... as we use it also in our projects but need urgent a static alternative to get more robust on special use cases.
Regards Stefan jbonofre wrote > Hi, > > I think it depends of the use case. I fully understand people like you > using static distribution, but I also understand people using dynamic > distribution. > > So, I got your point and I agree. The huge advantage of Karaf is the > flexibility: it can address very different use cases and topologies > easily, using the same code model. > > Regards > JB > >> Le 7 avr. 2020 à 15:35, stefang < > stefan.guenst@ > > a écrit : >> >> Hi JB, >> >> we are very interested on that material because we think a static >> distribution is the only way (after many years of Experience with Karaf) >> to >> get a robust and well defined Platform for the Enterprise .... >> >> Regards >> Stefan >> >> >> >> jbonofre wrote >>> That’s actually a great news ! It’s great to see people using static >>> distribution ! >>> >>> By the way, we are working on new tooling to even easily create >>> distribution (static or dynamic) ! >>> The purpose is to provide a much better dev experience. >>> >>> I will prepare some materials to discuss on the mailing list (I would >>> like >>> to have something showable). >>> >>> Regards >>> JB >>> >>>> Le 7 avr. 2020 à 13:30, stefang < >> >>> stefan.guenst@ >> >>> > a écrit : >>>> >>>> Hi JB, >>>> >>>> thanks a lot for explaining this. >>>> So we stay on 4.2.6 and waiting for 4.2.9 because static distribution >>>> is >>>> urgent to us as you know. >>>> >>>> Regards >>>> Stefan >>>> >>>> >>>> >>>> jbonofre wrote >>>>> Hi Stefan, >>>>> >>>>> If the problem is related to PAX JDBC in static distribution, it’s not >>>>> yet >>>>> fully fixed. >>>>> >>>>> All the details is in the Jira: the problem is about the resolver >>>>> order. >>>>> When using static distribution, all features are startup features, >>>>> meaning >>>>> that all is evaluated at same stage. As PAX JDBC has requirements from >>>>> framework, the framework should be evaluated before pax-jdbc. >>>>> It’s not a problem when using pax JDBC as boot feature in dynamic >>>>> distribution as startup is evaluated first and then boot features. >>>>> But with static distribution, again, all is at "same level"/startup. >>>>> >>>>> My plan is to add an order on startup properties to be able to address >>>>> resolution order in startup. >>>>> >>>>> I plan to fix that for Karaf 4.2.9. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>>> Le 7 avr. 2020 à 12:47, stefang < >>>> >>>>> stefan.guenst@ >>>> >>>>> > a écrit : >>>>>> >>>>>> Hi Erwin, >>>>>> >>>>>> we tried it with static distribution based on 4.2.8 Release without >>>>>> any >>>>>> luck >>>>>> (4.2.6 without problems) >>>>>> Anything we missed? >>>>>> >>>>>> Regards >>>>>> >>>>>> Stefan >>>>>> >>>>>> >>>>>> >>>>>> Erwin Hogeweg wrote >>>>>>> Hi Lukas, >>>>>>> >>>>>>> Glad I could help. >>>>>>> >>>>>>> Happy coding. >>>>>>> >>>>>>> Erwin >>>>>>> >>>>>>> >>>>>>>> On Mar 18, 2020, at 12:13, Roedl Lukas < >>>>>> >>>>>>> Lukas.Roedl@.ac >>>>>> >>>>>>> > wrote: >>>>>>>> >>>>>>>> Hi Erwin, >>>>>>>> >>>>>>>> Thanks for your input – finally I had time to test it extensively >>>>>>>> and >>>>>>>> it’s working now!!! >>>>>>>> In the end the source of error was sitting in front of the PC ;-) >>>>>>>> >>>>>>>> The problem was that some dependencies where embedded into the >>>>>>>> actual >>>>>>>> bundle and at the same time these dependencies are also provided by >>>>>>>> pax-jdbc via the feature. >>>>>>>> (for details see [1]) >>>>>>>> >>>>>>>> So no actual problem with Pax-JDBC itself :-) >>>>>>>> >>>>>>>> Thanks again! >>>>>>>> >>>>>>>> Best, Lukas >>>>>>>> >>>>>>>> [1] >>>>>>>> https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12 >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&amp;gt&gt>;; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&amp;gt&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/bundle-headers.diff#L10-L12&amp;amp;gt&amp;gt&gt>;;; >>>>>>>> >>>>>>>> Von: Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> > >>>>>>>> Gesendet: Mittwoch, 19. Februar 2020 12:53 >>>>>>>> An: >>>>>> >>>>>>> user@.apache >>>>>> >>>>>>>> Betreff: Re: Karaf 4.2.8-SNAPSHOT - pax-jdbc 1.4.4 - prehook not >>>>>>>> working >>>>>>>> >>>>>>>> Lukas , >>>>>>>> >>>>>>>> It looks like you missed my pom.xml changes…Once I applied those to >>>>>>>> your >>>>>>>> git version it worked again. I was unable to push the change to >>>>>>>> GitHub >>>>>>>> so >>>>>>>> here they are again. >>>>>>>> >>>>>>>> I reduced the maven-bundle-plugin to: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>> >>> > <groupId> >>>>>>> org.apache.felix >>>>>>> >>>>> >>> > </groupId> >>>>>>>> >>>>>>> >>>>> >>> > <artifactId> >>>>>>> maven-bundle-plugin >>>>>>> >>>>> >>> > </artifactId> >>>>>>>> >>>>>>> >>>>> >>> > <extensions> >>>>>>> true >>>>>>> >>>>> >>> > </extensions> >>>>>>>> >>>>>>> >>>>> >>> > <configuration> >>>>>>>> >>>>>> >>>>>>>> >>>>>>> >>>>> >>> > <obrRepository> >>>>>>> NONE >>>>>>> >>>>> >>> > </obrRepository> >>>>>>>> >>>>>>> >>>>> >>> > <instructions> >>>>>>>> <_nouses>true >>>>>>> >>>>> >>> > </_nouses> >>>>>>>> >>>>>>> >>>>> >>> > <Bundle-SymbolicName> >>>>>>> ${project.artifactId} >>>>>>> >>>>> >>> > </Bundle-SymbolicName> >>>>>>>> >>>>>>> >>>>> >>> > </instructions> >>>>>>>> >>>>>>> >>>>> >>> > </configuration> >>>>>>>> >>>>>>>> FWIW… I am running OSX Catalina with Java-8. >>>>>>>> >>>>>>>> >>>>>>>> Erwin >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Feb 19, 2020, at 05:36, Roedl Lukas < >>>>>> >>>>>>> Lukas.Roedl@.ac >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> Lukas.Roedl@.ac >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> @Erwin: Thanks for testing! >>>>>>>> >>>>>>>> I tried to reproduce and incorporated your proposed changes in >>>>>>>> https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90 >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&amp;gt&gt>;; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&amp;gt&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/commit/1a427187148461da564326ceae36622c5f943e90&amp;amp;gt&amp;gt&gt>;;; >>>>>>>> >>>>>>>> But unfortunately I had no luck that the PreHook finally got >>>>>>>> called. >>>>>>>> >>>>>>>> Did you also change some other things? >>>>>>>> >>>>>>>> Best, >>>>>>>> Lukas >>>>>>>> >>>>>>>> Von: Jean-Baptiste Onofré < >>>>>> >>>>>>> jb@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> jb@ >>>>>> >>>>>>> >> >>>>>>>> Gesendet: Dienstag, 18. Februar 2020 20:02 >>>>>>>> An: >>>>>> >>>>>>> user@.apache >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> user@.apache >>>>>> >>>>>>> > >>>>>>>> Betreff: Re: Karaf 4.2.8-SNAPSHOT - pax-jdbc 1.4.4 - prehook not >>>>>>>> working >>>>>>>> >>>>>>>> Thanks for the update. I will investigate tomorrow. I will keep you >>>>>>>> posted. >>>>>>>> >>>>>>>> Regards >>>>>>>> JB >>>>>>>> >>>>>>>> Le mar. 18 f?vr. 2020 ? 17:01, Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> a ?crit : >>>>>>>> Lukas, >>>>>>>> >>>>>>>> I believe I have some success by copying configuration from my env. >>>>>>>> to >>>>>>>> the prehook test. >>>>>>>> >>>>>>>> 2020-02-18T10:35:05,924 | INFO | features-3-thread-1 | PreHookTest >>>>>>>> >>>>>>>> | 50 - prehook - 1.0.0.SNAPSHOT | Starting PreHookTest ... >>>>>>>> 2020-02-18T10:35:05,928 | WARN | activator-1-thread-1 | SshUtils >>>>>>>> >>>>>>>> | 38 - org.apache.karaf.shell.ssh - 4.2.8 | Configured cipher >>>>>>>> 'aes256-ctr' not available >>>>>>>> 2020-02-18T10:35:05,931 | INFO | features-3-thread-1 | >>>>>>>> ServiceTrackerHelper | 16 - org.ops4j.pax.jdbc.config - >>>>>>>> 1.4.4 >>>>>>>> | Obtained service dependency: >>>>>>>> (&(objectClass=org.osgi.service.jdbc.DataSourceFactory)(osgi.jdbc.driver.name=sqlite)) >>>>>>>> 2020-02-18T10:35:05,931 | WARN | activator-1-thread-1 | SshUtils >>>>>>>> >>>>>>>> | 38 - org.apache.karaf.shell.ssh - 4.2.8 | Configured cipher >>>>>>>> 'aes192-ctr' not available >>>>>>>> 2020-02-18T10:35:05,932 | INFO | features-3-thread-1 | >>>>>>>> DataSourceRegistration | 16 - org.ops4j.pax.jdbc.config - >>>>>>>> 1.4.4 >>>>>>>> | Found DataSourceFactory. Creating DataSource prehook-test >>>>>>>> 2020-02-18T10:35:05,953 | INFO | features-3-thread-1 | >>>>>>>> DataSourceRegistration | 16 - org.ops4j.pax.jdbc.config - >>>>>>>> 1.4.4 >>>>>>>> | Executing pre hook for DataSource prehook-test >>>>>>>> 2020-02-18T10:35:05,953 | INFO | features-3-thread-1 | PreHookTest >>>>>>>> >>>>>>>> | 50 - prehook - 1.0.0.SNAPSHOT | Called PreHookTest.prepare() ? >>>>>>>> >>>>>>>> I reduced the maven-bundle-plugin to: >>>>>>>> >>>>>>>> >>>>>>> >>>>> >>> > <groupId> >>>>>>> org.apache.felix >>>>>>> >>>>> >>> > </groupId> >>>>>>>> >>>>>>> >>>>> >>> > <artifactId> >>>>>>> maven-bundle-plugin >>>>>>> >>>>> >>> > </artifactId> >>>>>>>> >>>>>>> >>>>> >>> > <extensions> >>>>>>> true >>>>>>> >>>>> >>> > </extensions> >>>>>>>> >>>>>>> >>>>> >>> > <configuration> >>>>>>>> >>>>>> >>>>>>>> >>>>>>> >>>>> >>> > <obrRepository> >>>>>>> NONE >>>>>>> >>>>> >>> > </obrRepository> >>>>>>>> >>>>>>> >>>>> >>> > <instructions> >>>>>>>> <_nouses>true >>>>>>> >>>>> >>> > </_nouses> >>>>>>>> >>>>>>> >>>>> >>> > <Bundle-SymbolicName> >>>>>>> ${project.artifactId} >>>>>>> >>>>> >>> > </Bundle-SymbolicName> >>>>>>>> >>>>>>> >>>>> >>> > </instructions> >>>>>>>> >>>>>>> >>>>> >>> > </configuration> >>>>>>>> >>>>>>>> And I changed the component annotations to: >>>>>>>> >>>>>>>> @Component( >>>>>>>> // scope = ServiceScope.SINGLETON, >>>>>>>> immediate = true, >>>>>>>> // service = PreHook.class, >>>>>>>> property = "name=prehook-test-hook" >>>>>>>> ) >>>>>>>> public class PreHookTest implements PreHook { >>>>>>>> ? >>>>>>>> >>>>>>>> I may have thrown away too much, but at least this is a good >>>>>>>> starting >>>>>>>> point. >>>>>>>> >>>>>>>> >>>>>>>> Erwin >>>>>>>> >>>>>>>> >>>>>>>> On Feb 17, 2020, at 13:55, Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Lukas, >>>>>>>> >>>>>>>> I am currently on the road but I will try this ASAP. >>>>>>>> >>>>>>>> Kind Regards, >>>>>>>> >>>>>>>> Erwin >>>>>>>> >>>>>>>> El feb. 17, 2020, a la(s) 08:55, Roedl Lukas < >>>>>> >>>>>>> Lukas.Roedl@.ac >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> Lukas.Roedl@.ac >>>>>> >>>>>>> >> escribi?: >>>>>>>> >>>>>>>> ? >>>>>>>> Hi, >>>>>>>> >>>>>>>> We?ve similar problems with a Pax JDBC Pre Hook getting called. >>>>>>>> I?ve prepared a minimal example on >>>>>>>> https://github.com/roedll/pax-jdbc-pre-hook-test >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&amp;gt&gt>;; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&amp;gt&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test&amp;amp;gt&amp;gt&gt>;;; >>>>>>>> using >>>>>>>> SQLite to >>>>>>>> make it a bit more concrete. >>>>>>>> Apache Karaf 4.2.8 in combination with Pax JDBC 1.4.4 is used. >>>>>>>> >>>>>>>> The DataSource is specified in the file >>>>>>>> ?org.ops4j.datasource-prehook-test.cfg? (see [1]) and without a >>>>>>>> PreHook >>>>>>>> defined the DataSource is published as expected: >>>>>>>> >>>>>>>> dataSourceName = prehook-test >>>>>>>> felix.fileinstall.filename = >>>>>>>> file:/X:/pax-jdbc-pre-hook-test/framework/target/assembly/etc/org.ops4j.datasource-prehook-test.cfg >>>>>>>> objectClass = [javax.sql.DataSource] >>>>>>>> osgi.jdbc.driver.name = sqlite >>>>>>>> osgi.jndi.service.name = prehook-test >>>>>>>> pax.jdbc.managed = true >>>>>>>> service.bundleid = 16 >>>>>>>> service.factoryPid = org.ops4j.datasource >>>>>>>> service.id <http://service.id/> <http://service.id/> >>>>>>>> <http://service.id/&gt>; <http://service.id/> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>;; >>>>>>>> <http://service.id/> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>; >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;amp;gt&amp;gt&gt>;;; = 88 >>>>>>>> service.pid = >>>>>>>> org.ops4j.datasource.5a7b2e4b-4781-4b60-b707-74a48e210bda >>>>>>>> service.scope = singleton >>>>>>>> url = jdbc:sqlite:prehook-test.db >>>>>>>> >>>>>>>> With the PreHook specified (like ?ops4j.preHook=prehook-test-hook?) >>>>>>>> the >>>>>>>> last log entry is ?Waiting for service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.hook.PreHook)(name=prehook-test-hook))? >>>>>>>> event if the PreHook itself is started and active: >>>>>>>> >>>>>>>> Pax JDBC - Test - PreHook (21) provides: >>>>>>>> ---------------------------------------- >>>>>>>> component.id <http://component.id/> >>>>>>>> <http://component.id/> <http://component.id/&gt>; >>>>>>>> <http://component.id/> <http://component.id/&gt> >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt>;; >>>>>>>> <http://component.id/> <http://component.id/&gt> >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt>; >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt> >>>>>>>> <http://component.id/&amp;gt&gt> >>>>>>>> <http://component.id/&amp;amp;gt&amp;gt&gt>;;; = >>>>>>>> 0 >>>>>>>> component.name = at.roedll.pax.jdbc.pre.hook.test.PreHookTest >>>>>>>> name = prehook-test-hook >>>>>>>> objectClass = [org.ops4j.pax.jdbc.hook.PreHook] >>>>>>>> service.bundleid = 21 >>>>>>>> service.id <http://service.id/> <http://service.id/> >>>>>>>> <http://service.id/&gt>; <http://service.id/> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>;; >>>>>>>> <http://service.id/> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>; >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;amp;gt&amp;gt&gt>;;; = 75 >>>>>>>> service.scope = bundle >>>>>>>> >>>>>>>> >>>>>>>> Can someone which doesn?t have problems with this, please take a >>>>>>>> short >>>>>>>> look, if there are some differences between the working >>>>>>>> configurations >>>>>>>> and this example? >>>>>>>> >>>>>>>> Best, >>>>>>>> Lukas >>>>>>>> >>>>>>>> >>>>>>>> [1] >>>>>>>> https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&amp;gt&gt>;; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&amp;gt&gt>; >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&amp;gt&gt> >>>>>>>> <https://github.com/roedll/pax-jdbc-pre-hook-test/blob/master/framework/src/main/filtered-resources/etc/org.ops4j.datasource-prehook-test.cfg&amp;amp;gt&amp;gt&gt>;;; >>>>>>>> >>>>>>>> Von: Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> >>>>>>>> Gesendet: Donnerstag, 23. Januar 2020 22:40 >>>>>>>> An: >>>>>> >>>>>>> user@.apache >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> user@.apache >>>>>> >>>>>>> > >>>>>>>> Betreff: Re: Karaf 4.2.8-SNAPSHOT - pax-jdbc 1.4.4 - prehook not >>>>>>>> working >>>>>>>> >>>>>>>> Hi Alex, >>>>>>>> >>>>>>>> Below a similar sequence from my log. >>>>>>>> >>>>>>>> From your log it seems that the Derby DataSourceFactory is not >>>>>>>> resolved. >>>>>>>> I remember that at some point I changed the driver.name entry in >>>>>>>> the >>>>>>>> config to a driver.class entry. That is for a mySQL database though >>>>>>>> but >>>>>>>> but maybe? >>>>>>>> >>>>>>>> Another silly question: Is your datasource functional if you leave >>>>>>>> out >>>>>>>> the preHook? >>>>>>>> >>>>>>>> Obtained service dependency: >>>>>>>> (objectClass=org.ops4j.pax.jdbc.config.ConfigLoader) >>>>>>>> Waiting for service dependency: >>>>>>>> (objectClass=org.ops4j.pax.jdbc.config.ConfigLoader) >>>>>>>> Waiting for service dependency: >>>>>>>> (&(pool=*)(!(pax.jdbc.managed=true))(|(objectClass=javax.sql.DataSource)(objectClass=javax.sql.XADataSource))) >>>>>>>> Waiting for service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.pool.common.PooledDataSourceFactory)(pool=dbcp2)(xa=false)) >>>>>>>> Waiting for service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.pool.common.PooledDataSourceFactory)(pool=dbcp2)(xa=false)) >>>>>>>> Obtained service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.pool.common.PooledDataSourceFactory)(pool=dbcp2)(xa=false)) >>>>>>>> Obtained service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.hook.PreHook)(name=seegate)) >>>>>>>> Obtained service dependency: >>>>>>>> (&(objectClass=org.osgi.service.jdbc.DataSourceFactory)(osgi.jdbc.driver.class=com.mysql.jdbc.Driver)) >>>>>>>> >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Erwin >>>>>>>> >>>>>>>> >>>>>>>> On Jan 23, 2020, at 13:22, Alex Soto < >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Yes, the migration service is being registered: >>>>>>>> >>>>>>>> >>>>>>>> Obtained service dependency: >>>>>>>> (objectClass=org.ops4j.pax.jdbc.config.ConfigLoader) >>>>>>>> Waiting for service dependency: >>>>>>>> (objectClass=org.ops4j.pax.jdbc.config.ConfigLoader) >>>>>>>> Waiting for service dependency: >>>>>>>> (&(pool=*)(!(pax.jdbc.managed=true))(|(objectClass=javax.sql.DataSource)(objectClass=javax.sql.XADataSource))) >>>>>>>> Obtained service dependency: >>>>>>>> (&(objectClass=org.ops4j.pax.jdbc.hook.PreHook)(name=querierDB)) >>>>>>>> Waiting for service dependency: >>>>>>>> (&(objectClass=org.osgi.service.jdbc.DataSourceFactory)(osgi.jdbc.driver.name=derby)) >>>>>>>> >>>>>>>> >>>>>>>> And >>>>>>>> >>>>>>>> service:list org.ops4j.pax.jdbc.hook.PreHook >>>>>>>> [org.ops4j.pax.jdbc.hook.PreHook] >>>>>>>> --------------------------------- >>>>>>>> component.id <http://component.id/> >>>>>>>> <http://component.id/> <http://component.id/&gt>; >>>>>>>> <http://component.id/> <http://component.id/&gt> >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt>;; >>>>>>>> <http://component.id/> <http://component.id/&gt> >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt>; >>>>>>>> <http://component.id/&gt> >>>>>>>> <http://component.id/&amp;gt&gt> >>>>>>>> <http://component.id/&amp;gt&gt> >>>>>>>> <http://component.id/&amp;amp;gt&amp;gt&gt>;;; = >>>>>>>> 29 >>>>>>>> component.name = >>>>>>>> org.enquery.encryptedquery.querier.data.maint.Migration >>>>>>>> name = querierDB >>>>>>>> service.bundleid = 35 >>>>>>>> service.id <http://service.id/> <http://service.id/> >>>>>>>> <http://service.id/&gt>; <http://service.id/> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>;; >>>>>>>> <http://service.id/> <http://service.id/&gt> >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt>; >>>>>>>> <http://service.id/&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;gt&gt> >>>>>>>> <http://service.id/&amp;amp;gt&amp;gt&gt>;;; = >>>>>>>> 276 >>>>>>>> service.scope = bundle >>>>>>>> Provided by : >>>>>>>> EncryptedQuery :: Querier :: Data (35) >>>>>>>> Used by: >>>>>>>> OPS4J Pax JDBC Config (210) >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Alex soto >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 22, 2020, at 1:06 PM, Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Just this week I upgraded from karaf-1.2.6 and pax-jdbc-1.3.1 to >>>>>>>> karaf-1.2.8-SNAPSHOT and pax-jdbc-1.4.4 and I didn?t run into any >>>>>>>> issues. >>>>>>>> >>>>>>>> Stupid question, but can you confirm that the Migrator class is >>>>>>>> instantiated and that the component is active? >>>>>>>> >>>>>>>> com.*.Migrator in bundle 129 >>>>>>>> (db.init:1.0.0.SNAPSHOT_20200122-1230) enabled, 1 instance. >>>>>>>> Id: 18, State:ACTIVE >>>>>>>> >>>>>>>> Initially I missed some Package-Imports on the migrator bundle >>>>>>>> which >>>>>>>> left >>>>>>>> the component in the SATISFIED (I believe) state. After scrolling >>>>>>>> through >>>>>>>> the logs I discovered a CNFE which pointed me in the right >>>>>>>> direction. >>>>>>>> >>>>>>>> Erwin >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 22, 2020, at 12:53, Alex Soto < >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> I tested with Karaf 4.2.7 and various versions of Pax-JDBC. >>>>>>>> The hook is not being called stating with Pax-JDBC 1.3.4. >>>>>>>> >>>>>>>> Something must have changed in Pax-JDBC 1.3.4 as everything else >>>>>>>> remains >>>>>>>> the same in my tests. >>>>>>>> >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Alex soto >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 22, 2020, at 12:39 PM, Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Ignore the different datasource names. I messed up the ?replace >>>>>>>> all? >>>>>>>> :-) >>>>>>>> >>>>>>>> >>>>>>>> On Jan 22, 2020, at 12:36, Erwin Hogeweg < >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> erwin.hogeweg@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> It seems to work for me with Karaf-4.2.8-SNAPSHOT and >>>>>>>> pax-jdbc-1.4.4. >>>>>>>> >>>>>>>> 12 ? Active ? 80 ? 1.4.4 ? OPS4J Pax JDBC >>>>>>>> Generic Driver Extender >>>>>>>> 13 ? Active ? 80 ? 1.4.4 ? OPS4J Pax JDBC >>>>>>>> Config >>>>>>>> 14 ? Active ? 80 ? 1.4.4 ? OPS4J Pax JDBC >>>>>>>> Pooling Support Base >>>>>>>> >>>>>>>> [features-2-thread-1] INFO >>>>>>>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration - Found >>>>>>>> DataSourceFactory. Creating DataSource jdbc/mydatasource >>>>>>>> [features-2-thread-1] INFO >>>>>>>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration - Executing >>>>>>>> pre >>>>>>>> hook for DataSource jdbc/mydatasource >>>>>>>> INFO 1/22/20 12:32 PM: liquibase: Successfully acquired change log >>>>>>>> lock >>>>>>>> INFO 1/22/20 12:32 PM: liquibase: Reading from >>>>>>>> seegate.DATABASECHANGELOG >>>>>>>> INFO 1/22/20 12:32 PM: liquibase: Successfully released change log >>>>>>>> lock >>>>>>>> [features-2-thread-1] INFO >>>>>>>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration - Pre hook >>>>>>>> finished. Publishing DataSource jdbc/mydatasource >>>>>>>> [features-2-thread-1] INFO >>>>>>>> org.apache.aries.jpa.container.impl.DataSourceTracker - Found >>>>>>>> DataSource >>>>>>>> for seegate.pu >>>>>>>> osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/mydatasource) >>>>>>>> >>>>>>>> FWIW - I did change the exception handling in Migrator to better >>>>>>>> see >>>>>>>> when/if the migration fails: >>>>>>>> >>>>>>>> @Override >>>>>>>> public void prepare(DataSource ds) throwsSQLException { >>>>>>>> try (Connection connection =ds.getConnection()) { >>>>>>>> prepare(connection); >>>>>>>> } catch (LiquibaseException e) { >>>>>>>> LOG.error(e.getClass().getName() + ": " + >>>>>>>> e.getMessage()); >>>>>>>> // throw new RuntimeException(e); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> Erwin >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 22, 2020, at 11:11, Alex Soto < >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> alex.soto@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Same is happening to me, it works with Pax-JDBC 1.3.0, but not with >>>>>>>> Pax-JDBC 1.4.0, which is the one included in Karaf 4.2.7. >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Alex soto >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 20, 2020, at 9:10 AM, stefang < >>>>>> >>>>>>> stefan.guenst@ >>>>>> >>>>>>> <mailto: >>>>>> >>>>>>> stefan.guenst@ >>>>>> >>>>>>> >> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> we are not able to run Christian's Example: >>>>>>>> >>>>>>>> https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java> >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java> >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java&gt>; >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java> >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java&gt>; >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java> >>>>>>>> <https://github.com/cschneider/Karaf-Tutorial/blob/master/liquibase/service/src/main/java/net/lr/tutorial/db/service/Migrator.java&gt>; >>>>>>>> >>>>>>>> >>>>>>>> Must be something todo with pax-jdbc 1.4.4 (wich comes with 4.2.8) >>>>>>>> >>>>>>>> Karaf 4.2.6 (pax-jdbc 1.3.5)works fine. >>>>>>>> >>>>>>>> Stefan >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Sent from: >>>>>>>> http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt>; >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;gt&gt>;; >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;gt&gt>; >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;gt&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;gt&gt> >>>>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;amp;gt&amp;gt&gt>;;; >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt>; >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt> >>>>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&amp;gt&gt>;; >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html >>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> >>>> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html&gt>; >> >> >> >> >> >> -- >> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html >> <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html> -- Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html