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.gue...@me.com> 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>>; >>>>>>> <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&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>> >>>>>>> <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&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>>;;; >>>>>>> >>>>>>> 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>>; >>>>>>> <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&gt>>;; >>>>>>> <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&gt>>; >>>>>>> <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&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>>; >>>>>>> <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&gt>>;; >>>>>>> <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&gt>>; >>>>>>> <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&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/>>; <http://service.id/> >>>>>>> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>;; >>>>>>> <http://service.id/> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>; >>>>>>> <http://service.id/&gt> <http://service.id/&gt>> >>>>>>> <http://service.id/&amp;gt&gt> >>>>>>> <http://service.id/&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/>>; <http://component.id/> >>>>>>> <http://component.id/>> >>>>>>> <http://component.id/&gt> <http://component.id/&gt>>;; >>>>>>> <http://component.id/> <http://component.id/>> >>>>>>> <http://component.id/&gt> <http://component.id/&gt>>; >>>>>>> <http://component.id/&gt> <http://component.id/&gt>> >>>>>>> <http://component.id/&amp;gt&gt> >>>>>>> <http://component.id/&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/>>; <http://service.id/> >>>>>>> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>;; >>>>>>> <http://service.id/> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>; >>>>>>> <http://service.id/&gt> <http://service.id/&gt>> >>>>>>> <http://service.id/&amp;gt&gt> >>>>>>> <http://service.id/&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>>; >>>>>>> <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&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>> >>>>>>> <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&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>>;;; >>>>>>> >>>>>>> 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/>>; <http://component.id/> >>>>>>> <http://component.id/>> >>>>>>> <http://component.id/&gt> <http://component.id/&gt>>;; >>>>>>> <http://component.id/> <http://component.id/>> >>>>>>> <http://component.id/&gt> <http://component.id/&gt>>; >>>>>>> <http://component.id/&gt> <http://component.id/&gt>> >>>>>>> <http://component.id/&amp;gt&gt> >>>>>>> <http://component.id/&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/>>; <http://service.id/> >>>>>>> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>;; >>>>>>> <http://service.id/> <http://service.id/>> >>>>>>> <http://service.id/&gt> <http://service.id/&gt>>; >>>>>>> <http://service.id/&gt> <http://service.id/&gt>> >>>>>>> <http://service.id/&amp;gt&gt> >>>>>>> <http://service.id/&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>>; >>>>>>> <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>>; >>>>>>> >>>>>>> >>>>>>> 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>>; >>>>>>> <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&gt>>;; >>>>>>> <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&gt>>; >>>>>>> <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&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>>; >>>>> <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&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>>; > > > > > > -- > Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html > <http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html>