I agree with Vic that the only robust database backend for doj at this point is postgresql.  There is also an Oracle backend available at this time.  This backend passes a majority of the tests, but I also hesitate to say that "it works perfect" because I've only tested it in my environment which is running on OS X using a remote Oracle database. 

If you do give the Oracle database backend a try then please send feedback to the django-jython dev list...it would be much appreciated!

Josh Juneau
Twitter ID:  javajuneau

On Wed, Aug 5, 2009 at 8:56 AM, Ng, Victor <Victor.Ng@cibc.ca> wrote:
> http://jythonpodcast.hostjava.net/jythonbook/chapter14.html#deploying-your-first-application
> -> "Create a project called ?hello? and make sure you add
> ?django.contrib.admin? and ?doj? applications to the INSTALLED_APPS"
> Where? In Glassfish?

Hi Andrea, sorry about that - it's confusing at this point a bit because there's sections missing covering 'raw' Django and using the settings module that each project has.  That settings module has the INSTALLED_APPS configuration.

> -> The whole way of proceeding seems quite heavyweight to me, skipped
> over it entirely. A simple project in an IDE with embedded Jetty setup
> would have looked a lot easier. And when you do need to package the
> final app doj is available to create the final .war no?

Yes, doj will build you a WAR file.  Using embedded Jetty was an option for deployment, but I didn't think that would be as practical as deployment into an application server.   My assumption is that most Jython people who actually need to deploy WAR files are in more 'corporate' environments where full blown app servers are more common than one off Jetty deployments.  I'm starting to do a couple small deployments of Jython and each time, people have expressed that they really want the 'web admin' aspect of an appserver (regardless of how much practical use there is in that).

> -> "While Django does not natively support database connection pools
> with CPython, you can enable them in the Postgresql driver for Django on
> Jython." Ouch, gross, does that mean that the trick is limited to
> Postgresql? Not using connection pools is a very good way to shoot
> oneself in the foot performance wise, especially with Oracle and DB2,
> but in general for all databases with the exception of embedded ones
> and maybe MySql. Wondering how django can power sites with any sizeable
> traffic without pooling _and_ prepared statements usage. A ton of
> caching if the site is mostly read-only maybe?

Yeah - that's pretty much it.  Django apps generally use memcached for everything and assume few writes to disk.  Which reminds me - I really do need to push my patches up for the postgresql backend for doj to support JNDI.  It's just sitting on my disk at home.

Right now - the only robust backend for doj is the postgresql one.  I've got MSSQL working, but because of idiosyncratic limitations with in the SQL syntax (actually - limitations in the MSSQL's ability to process some kinds of subselects) I'm reluctant to say "it works" when really - it works for me, but your mileage may vary.

I thought that covering the other parts of JavaEE would be compelling for both Python programmers coming to Java and Java programmers coming to Jython.   One of the reasons for using Glassfish to host the apps in the example instead of just a servlet runner is to show JNDI lookups for connection pools and leveraging JMS instead of the current fad where everyone seems to be rolling their own poorly implemented network queues.

Thanks for all the feedback,
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
Jython-dev mailing list