Hi again:

I will try this again, with fragment host option. I guess I might have missed 
something minor. I will get back with results.

Thank you.

Regards,
Cooshal.

Regards,
Kushal.

________________________________
From: Jean-Baptiste Onofré <j...@nanthrax.net>
Sent: Thursday, August 1, 2019 6:40 AM
To: user@karaf.apache.org
Subject: Re: Flyway and Karaf

Yes, it's what I meant: you have to "gather" the classloaders.

An option to add all flyway bundles as require bundle/private package in
your own bundle. Like this, all will be in your bundle classloader.

Another option is to use fragment with your bundle as host (as a
fragment is just resolved, only the host is started).

Regards
JB

On 01/08/2019 06:36, Kushal Gautam wrote:
> Hi JB:
>
> Thank you for your reply.
>
> I tried the options I could.
>
> For example, some suggested that this problem was resolved by using
> Fragment-Host in maven-bundle-plugin as shown
> here: 
> https://github.com/FlavioF/fabric8-osgi-flyway-example/blob/master/fabric8-osgi-flyway/pom.xml
>
> But, doing that, my bundle never started because it gives me another
> error saying: " ... cannot start the fragment host .... "
>
> I am totally clueless.
>
> Regards,
> Cooshal.
>
> On Thu, Aug 1, 2019 at 6:23 AM Jean-Baptiste Onofré <j...@nanthrax.net
> <mailto:j...@nanthrax.net>> wrote:
>
> Hi,
>
> NoClassDefFoundError is certainly due to a class (or several classes) in
> different classloaders.
>
> I don't know Flyway, so I have to take a look how they load the
> providers. It seems an issue in Flyway on OSGi.
>
> Regards
> JB
>
> On 31/07/2019 22:45, Kushal Gautam wrote:
> > Hi,
> >
> >  I am trying to use Flyway in my Karaf instance.
> >
> > I have prepared a demo to reproduce the error that I have
> encountered at
> > https://github.com/cooshal/karaf-flyway.
> >
> > I am using a custom built karaf distribution.
> >
> > I have created two different modules inside db-migrations:
> > 1. flyway provider which has implementations to carry out flyway
> migrations
> > 2. karaf command, which invokes the implementation of flyway provider
> > bundle.
> >
> > I tried following:
> >
> > karaf@root()> dbf:migrate
> > Error executing command: java.lang.NoClassDefFoundError: Could not
> > initialize class org.flywaydb.core.Flyway
> >
> > karaf@root()> log:tail
> > 22:37:11.081 ERROR [Karaf local console user karaf] Exception caught
> > while executing command
> > java.util.concurrent.ExecutionException:
> java.lang.NoClassDefFoundError:
> > Could not initialize class org.flywaydb.core.Flyway
> >         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> > ~[?:?]
> >         at
> java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:?]
> >         at
> >
> org.apache.felix.gogo.runtime.CommandSessionImpl$JobImpl.run(CommandSessionImpl.java:829)
> > ~[?:?]
> >         at
> >
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> > ~[?:?]
> >         at
> java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > ~[?:?]
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > ~[?:?]
> >         at java.lang.Thread.run(Thread.java:745) [?:?]
> > Caused by: java.lang.NoClassDefFoundError: Could not initialize class
> > org.flywaydb.core.Flyway
> >         at
> >
> com.example.db.migrations.FlywayDBMigrations.migrate(FlywayDBMigrations.java:16)
> > ~[?:?]
> >         at
> >
> com.example.flyway.command.MigrateDatabaseCommand.execute(MigrateDatabaseCommand.java:20)
> > ~[?:?]
> >         at
> >
> org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84)
> > ~[?:?]
> >         at
> >
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68)
> > ~[?:?]
> >         at
> >
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86)
> > ~[?:?]
> >         at
> > org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571)
> ~[?:?]
> >         at
> >
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497)
> > ~[?:?]
> >         at
> > org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386) ~[?:?]
> >         at
> org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417) ~[?:?]
> >         at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229)
> ~[?:?]
> >         at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59)
> ~[?:?]
> >         ... 4 more
> >
> > I am getting this error from
> >
> https://github.com/cooshal/karaf-flyway/tree/master/db-migrations/flyway-provider
> >
> > I also tried installing flyway-core bundle in Karaf, but it did not
> > work. I got the same error.
> >
> > Do I need to configure some settings in the pom file of this project?
> >
> (https://github.com/cooshal/karaf-flyway/blob/master/db-migrations/flyway-provider/pom.xml)
> >
> > Any feedback would be very helpful.
> >
> > Regards,
> > Cooshal.
>
> --
> Jean-Baptiste Onofré
> jbono...@apache.org <mailto:jbono...@apache.org>
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to