Thanks for the response. I tried moving everything out of the run() method; however I still get the same issue. I got around this issue for now by moving one of the maven modules into its own independent maven project. Not the most ideal solution; however it does work 😁
On Fri, Oct 7, 2016 at 1:05 PM, Mauro Talevi <[email protected]> wrote: > Hi, > > Are you saying that it works fine with Maven command-line if you use JUnit > tests but not with JBehave stories? This is strange but it could be down > to different handling of the class loading. > > In any case, you should surely close down the connection after the stories > execution. > > You should not really add anything in the run() method. It’s much more > advisable to use @Before/After annotations > (e.g. using the @AfterStories annotation). > > Alternatively, you could centralise all stories in a single module to > ensure that only one connection is opened. > > Cheers > > On 4 Oct 2016, at 17:47, Mike Koch <[email protected]> wrote: > > I have a project with the following maven structure: > > Parent > - First Module with JBehave Story > - Data Access Module > - Second Module with JBehave Story > > Both of the modules that have a JBehave Story utilize a local MS SQL > server database connection as they rely on database tests. The data access > modules provides the necessary DataSource to connect to this database. The > issue I'm coming across is when running `mvn clean verify` across the > parent module, only *one* of the JBehave stories will run. The other > module will fail with the following error: > > WARNING: Failed to load the sqljdbc_auth.dll cause : Native Library C:\ > Windows\System32\sqljdbc_auth.dll already loaded in another classloader > > If only one (or none) of the modules utilize the database connection, the > modules run fine. Also, I can run each story separately. I can also use > this same data access logic across regular JUnit tests and those work fine, > even when ran through maven. This issue almost appears to be due to some > sort of backend runner that is not shutting down / garbage collecting > because if I don't explicitly close my DataSource after the story is > complete (which I should be doing anyway), I get the following warning when > the second module starts to run its tests: > > [WARNING] A C3P0Registry mbean is already registered. This probably means > that an application using c3p0 was undeployed, but not all > PooledDataSources were closed prior to undeployment. This may lead to > resource leaks over time. Please take care to close all PooledDataSources. > > Is there something I am forgetting to do during my story's run() method to > make sure everything is properly destroyed after the story is finished > running, so the next story can run correctly without problems? I've > attached a .zip of a sample project that can reproduce this issue. > > -- > You received this message because you are subscribed to the Google Groups > "JBehave User" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web, visit https://groups.google.com/d/ > msgid/jbehave-user/2fbe6944-1130-48c0-94fa-b34f688a79c2%40googlegroups.com > <https://groups.google.com/d/msgid/jbehave-user/2fbe6944-1130-48c0-94fa-b34f688a79c2%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "JBehave User" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. To view this discussion on the web, visit https://groups.google.com/d/msgid/jbehave-user/CAGKnwFKEDwhChDpVB0agXX3T-q6v5OVHrfmeQPzro1V1SyU44A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
