db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <ch...@die-schneider.net>
Subject Re: Shutdown Derby database using JPA not DriverManager
Date Mon, 02 Jan 2017 12:31:50 GMT
You should avoid using Persistence.createEntityManagerFactory. It does 
not work well in OSGi. Instead use Aries JPA or Aries transaction control.
Both can provide you with a fully configured EntityManagerFactory and 
EntityManager that copes well with the dynamics of OSGi.

Christian

On 02.01.2017 12:52, Timothy Vogel wrote:
> I have an OSGI application that uses Derby for persistence and Eclipse Link as a JPA
provider.  I leave starting the Derby instance to JPA and persistence.xml.
>
>      factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, props);
>
> Persistence.xml
>      <properties>
> 		<property name="eclipse.weaving" value="false" />
> 		<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"
/>
> 		<property name="javax.persistence.jdbc.url" value="jdbc:derby:pathToDb" />
> 		<property name="eclipselink.logging.level.sql" value="FINEST" />
> 		<property name="eclipselink.logging.parameters" value="true" />
> 	</properties>
>
>
> At one point in the application, I need to stop the underlying Derby database. All of
the examples show calling:
>      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
>      DriverManager.getConnection("jdbc:derby:pathToDb;shutdown=true");
>
> This is problematic, especially in an OSGI application with multiple class loaders. I
have tried using
>      if (factory.isOpen())
> 			factory.close();
> but this does not shutdown the Derby instance, only the JPA connection to it.
>
> I tried using the OSGI console to stop the persistence related bundles including javax.persistence,
JPA and Derby.  Stopping these did not release the file locks that Derby put on log files.
>
> Is there a way, using JPA, to shutdown the underlying Derby instance?
>


-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Mime
View raw message