|
Hi Sinasa,
I ended up finding a way that
seems to work more cleanly - I discovered that there was an
overridable createDatabaseManager() method in the StandardApplication
class, so I wrote a simple extension
of the StandardDatabaseManager class that overrides the
loadLogicalDatabase() method to, when the database type is 'Oracle', return
the logical database class I previously mentioned. I then overrode the
createDatabaseManager() in the application class generated by the Application
Wizard, which extends StandardApplication, to return an instance of the new
database manager class.
Is there an easier way of doing
this, that would require less subclassing, or is this probably the best way to
go about it for now?
Just wondering...
Mike.
----- Original Message -----
Sent: Friday, July 16, 2004 11:07
AM
Subject: Re: [enhydra] Re: [dods]
DatabaseManager.ConfigurationDir setting - addendum
Hello again,
Wouldn't eliminating these
lines cause the
com.lutris.appserver.server.sql.standard.StandardLogicalDatabase class to be
used by the database manager instead, eliminating any
Oracle-specific behaviour that might be in the
OracleLogicalDatabase?
It's actually the ClassName
setting (or an equivalent) that I'm trying to set for the Enhydra app -
for the app in question, I've extended the OracleLogicalDatabase class and
overridden the loadObjectIdAllocator() method to provide an ObjectIdAllocator
that accesses an Oracle sequence (rather than using the usual OBJECTID
table). In Enhydra 3.1, specifying a custom logical database type for
a particular application could be done by changing a single setting
in the application's .conf file - you could simply specify the full class name
of the logical database class in the 'DatabaseManager.DB.x.ClassType'
setting. With the various changes in Enhydra and DODS, that particular
hook seems to not have gotten carried over to Enhydra 5.1. Is there a
simple way to have one particular app use a different
LogicalDatabase implementation than everything else (ideally without modifying
the stock Enhydra/DODS configuration)?
Thanks for the help,
Michael Strapp.
----- Original Message -----
Sent: Thursday, July 15, 2004 8:00
AM
Subject: [enhydra] Re: [dods]
DatabaseManager.ConfigurationDir setting - addendum
Hi,
Please comment these two lines in your Oracle
configuration file
<ClassPath>C:/Projects/DODS_5.1/output/lib/dbvendors/oracle.jar</ClassPath>
<ClassName>com.lutris.appserver.server.sql.oracle.OracleLogicalDatabase</ClassName>
Regards,
Sinisa
----- Original Message -----
Sent: Wednesday, July 14, 2004 9:03
PM
Subject: [dods]
DatabaseManager.ConfigurationDir setting - addendum
Hi again,
When it comes to the
workaround, strike that - with only one app running under Enhydra, the
DatabaseManager.Configuration setting itself ends up causing a
NullPointerException unless you have 'Standard' as the ClassType
parameter. For example, if you create a 'testapp' application with
the Application Wizard, do a build, and just replace the
'DataseManager.DB.example.ClassType' line in output/conf/testapp.conf
with:
DatabaseManager.DB.example.ClassType =
"Oracle" DatabaseManager.ConfigurationDir =
"c:/enhydra5.1/dods/build/conf"
Launching 'testapp' standalone, using the
generated 'run.bat' results in a NullPointerException and stack
trace (see attached multiserver.log).
Any suggestions?
Michael Strapp
-- You receive this message as a subscriber of the
dods@xxxxxxxxxxxxx mailing list. To unsubscribe:
mailto:dods-unsubscribe@xxxxxxxxxxxxx For general help:
mailto:sympa@xxxxxxxxxxxxx?subject=help ObjectWeb mailing lists service
home page:
http://www.objectweb.org/wws
|