I have a Java app that has an embedded Derby database (no hibernate though). The app is using the following properties:
datasource.driverClassName = org.apache.derby.jdbc.EmbeddedDriver
datasource.url = jdbc:derby:C:/derby/mydb;
datasource.username = 1234
datasource.password = 1234
Everything is working fine and great. Now I need to package everything and give it to a client to install on their GlassFish server now I don’t want the client to install Derby and I don’t want them to know that the application is using a database.
The questions are: where should Derby be in the JAR? and What should the “datasource.url” be?
Thanks in advance.
You can locate the database data files inside your web-app. For example in “WEB-INF/data/” (and the Derby driver file in “WEB-INF/lib/” of course).
So, you can embbed the database pre-configured (with a “relative-path” JDBC url) in the WAR file you give to your client. He won’t have to install manually a Derby DB.
Note : you’ll have to be careful when you’ll provide an update of the application (to not erase the DB).