On Jul 12, 2007, at 11:44 AM, gmazza wrote:


Hello,

I am thinking of using the DerbyDB embedded in Geronimo for a web
application.  I have a couple of questions about the Derby that is in
Geronimo:

A couple of comments.

I think you are going to need an ear file or a geronimo "synthetic ear" or at least 2 artifacts -- a rar for the database pool and your web app. I think you may find an ear with "external modules" for the db pool is the simplest: you can include the geronimo plan inside the ear and have only one deployable. The daytrader app shows how to do this in e.g the plans/daytrader-g-2.0.xml plan (I might not quite have the name right) although that plan is not included in the ear.

1.) Does Geronimo's Derby run in embedded mode or network server mode? If the former (which I believe but would like to confirm), does that mean I would need a separate instance of Derby if I want to run in Network server
mode?

You can access derby from geronimo using either embedded or network, depending on which tranql resource adapter you use. AFAIK embedded is likely to be a bit faster.



2.) Is it possible (or practical) to embed Derby within a web application WAR file, preconfigure it with sample tables and rows, etc., and have the webapp access *that* embedded Derby instance, and not the one that comes
with Geronimo (or any network server version possibly running on the
machine)?  I am asking this because it would be nice for a sample web
application if I could configure it such that no database configuration would be necessary for a user; they would just need to deploy the WAR and it
will work out-of-the-box.

I don't think its practical or a good idea to run the database actually in the war file. For one thing it really ought to be read only if you did that :-) What I recommend is to construct your starting database, wrap it up in a jar file, include the jar in the ear or war file, and include a gbean in the geronimo plan to unpack the jar file into the var/derby directory. Our intent is that all program modifiable data files such as embedded databases should go somewhere in var.

We have an example of doing almost exactly this in geronimo, in the uddi app.
applications/geronimo-uddi-db constructs the db and packs it in a jar
applications/geronimo-uddi-server constructs the war file
configs/uddi-jetty6 (and uddi-tomcat) "predeploy" uddi into the jetty or tomcat server, constructing what is basically a geronimo plugin.

Unless you want separate jetty and tomcat plugins or only want to support one web server I recommend you have an ear file with the db jar and war and the plan in the jar.

Hope this helps.... ask more questions if it's not clear how to proceed.

thanks
david jencks



Thanks,
Glen

--
View this message in context: http://www.nabble.com/Derby-DB-in- Geronimo-tf4068958s134.html#a11562877 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Reply via email to