RE: validation query for connection failed
Hi, I also had problems with the broker and now I'm realised, that only if I define the connection Pool in both files where it is possible (OJB.properties AND reposistory.xml), it works like we want. I tried many settings and tested it with JMeter and produced havy laod on the web application. The connection pool didn't grow over 21 connections to the db. Only with setting of maxActive=100 and maxIdle=20 in repository.xml and OJB.properties it growed over 21 connection on havy load. I don't know why but now it works fine now. I searched in the source of OJB and found the default settings in org.apache.ojb.broker.util.pooling.PoolConfiguration. Try to make the settings in both files. Roland Ribi > -Original Message- > From: Thomas Franke [mailto:[EMAIL PROTECTED] > Sent: Monday, November 15, 2004 5:26 PM > To: OJB Users List > Subject: Re: validation query for connection failed > > > Ribi Roland wrote: > > Thanks for your help, Roland. > > > http://www.websina.com/bugzero/kb/oracle-connection.html > This is not our problem, because we almost always get a > connection. The > problem only occurs sometimes. But to often. > > > An other problem could be that some Broker stay open after > use. I had this > > behavior in my tomcat-application. After I checked the code where a > > PersistenceBroker is used and implemented the call of the > close method > > correctly at the end of any request (also if it throws an > exception!), it > > works fine. > We found one method, where the broker wasn't closed. Now all > the brokers > are definitely being closed in a finally block but our > problem is still > there. > > regards > > Thomas > > -- > Mit freundlichen Grüßen > > Thomas Franke > > Geschäftsführer softEnergy GmbH > > The energy for a better world > > softEnergy GmbH > Platz der Freundschaft 1 > 18059 Rostock > > fon: +49 381 40 587 535 > fax: +49 381 40 587 555 > mobil: +49 1715222015 > > http://www.softenergy.de > mail: [EMAIL PROTECTED] > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: FW: Tx handling in managed environment
Hi Norbert, [EMAIL PROTECTED] wrote: hmm yep, assume I know the reason for the failure (I promise in OJB 1.1 this kind of "exotic" configuration won't be such a pain ;-)). The problem is the used ConnectionFactory implementation. In managed environments it's not allowed to do connection.commit/rollback/autoCommit calls, so the ConnectionFactoryManagedImpl should be used in managed environments. This class wraps the connection handle from the DataSource and ignore calls to this methods. But you want to use both kinds of connections (managed, non-managed) and in non-managed environments another ConnectionFactory implementation should be used. But the class which use the connection.commit/rollback/autoCommit methods is ConnectionManagerImpl (CM). So we should make this class more sophisticated. When CM knows that a connection was used in a managed environment, then this class could ignore the "banned" methods calls and ConnectionFactoryManagedImpl will became superfluously. It seems a better solution to handle this kind of connection "management" in ConnectionManager implementation. What do you think? I agree that the connection managers should be smarter. I expected this ;-) I'm not so familiar with the entire OJB architecture, but to me it looks as follows: The root cause of the problem is that the connection factory deals with two jobs: Pooling (i.e. connection lifecycle management) and connection behaviour (managed or non-managed, i.e. some functional management). agree, when using ConnectionFactoryManagedImpl the separation of services is repealed. If this is correctly split, things should get much simpler and more obvious. Let one group of classes deal with connection lifecycle (includes pooling), and another one with functional behaviour (tx-handling etc.) of the connection. ConnectionFactory: The task of the factory is connection management in terms of lifecycle. I'd propose to outsource any required information to the connection descriptors (instead of settings in OJB.properties), they should make the scope (since they describe different, independent connections, this is meaningful). The connection descriptors shall contain information about the connection (naturally), as well as the desired pooling behaviour. The connection factory then creates one connection environment (provides mainly the pooling behaviour) per connection descriptor (lazy initialization), and uses it for connections created as described in the connection descriptor. It shall not be any smarter (no sublclasses or alternative implementations of ConnectionFactory). Note: connection here means a ConnectionManager. ConnectionManager: The task of connection managers is connection management in terms of functional behaviour. The connection manager is a wrapper of jdbc-Connection objects. It has the knowledge about the functional behaviour, i.e. it knows if it is inside a transaction, in batch mode, if the underlaying connection is managed or not, and which database it operates on (it could be that here is another abstraction required). The connection factory instantiates the correct manager depending on the information provided by the connection descriptor. Therefore he could use some properties (as it is now, e.g. if a datasource or jdbc connection information is provided), or better a dedicated attribute 'connection-manager-class'. As a summary: there is one connection factory (not configurable), and several connection managers. Pools are used by the factory as needed (i.e. as configured) per connection descriptor. Nothing remains to configure in OJB.properties file, because all information is provided by the connection descriptor (looks reasonable, what shall be the meaning of global settings here?). The changes are not so big, only responsibilities of the involved classes are separated and resources are scoped by connection descriptors. Looks quite simple - what are the pitfalls? Can't find any pitfalls (but I'm sure there will be ;-)). In OJB1.1 (CVS head) the ConnectionFactory is declared in jdbc-connection-descriptor (instead of OJB.properties), so this work is done already. See the new (preliminary) declaration http://cvs.apache.org/viewcvs.cgi/db-ojb/src/test/org/apache/ojb/repository_database.xml?rev=1.26&view=markup > It shall not be any smarter (no sublclasses or alternative > implementations of ConnectionFactory). I think we should allow alternative implementations of this class (e.g. user with proprietary connection pooling-api need their own implementation). But it will be possible to reduce the existing implementations. ConnectionManagerManagedImpl will be superfluous after refactoring of ConnectionManagerImpl, ConnectionFactoryNotPooledImpl is superfluous, because we can introduce a flag that prevent ConnectionFactoryPooledImpl from pooling of connections. So, I suggest a new ConnectionFactoryDefaultImpl which will be able to handle all kind of connection manage
Query by criteria and collection proxies
Hi! I am using ojb 1.0.1. I use PB API for querying with in a ODMG transaction. I use collection proxies for my referenced collections (by setting proxy="true" in collection descriptor) and do not use any auto setting explicitly. When I query a certain type of objects and use Criteria for specifying objects with what attributes should be retrieved, I get the desired objects but the referenced collections do not get populated. Although on calling List.iterator() method on the collection objects, I see all the members of collection getting retrieved in spy.log. Could somebody please tell me what I am doing wrong? Thanks in advance for your help. Ashish -- -- Ashish Rangole Vexcel Corporation - Image Information Engineering 1690 38th Street, Boulder CO 80301, USA phone: 303-583-0286 fax: 303-583-0246 Vexcel's home page: http://www.vexcel.com -- "What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free?" -- Bill Gates, An Open Letter to Hobbyists, 1976 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to markup for xdoclet inheritance structure?
Gelhar, Wallace Joseph wrote: I am trying to use xdoclet to map an inheritance hierarchy as follows, but it fails to include any inherited fields. Any ideas? The generate-table-info="false" setting disables generation of field/reference/collection entries. See here for details: http://db.apache.org/ojb/docu/guides/xdoclet-module.html#ojb.class You should also put the ojb.field tags at the getter or setter methods in the interfaces because this will cause their definition to be inherited in all implementing classes. Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to markup for xdoclet inheritance structure?
I am trying to use xdoclet to map an inheritance hierarchy as follows, but it fails to include any inherited fields. Any ideas? PersistenctObjectImpl (Abstract) implements PersistentObject (Interface) Foo (Interface) extends PersistentObject (Interface) FooImpl (Concrete) extends PersistentObjectImpl (Abstract) implements Foo (Interface) /** * @ojb.class generate-table-info="false" *determine-extents="true" */ public interface PersistentObject { public Integer getId(); public void setId(Integer id); ... } /** * @ojb.class generate-table-info="false" *determine-extents="true" *include-inherited="true" */ public abstract class PersistentObjectImpl implements PersistentObject { /* * @ojb.field column="ID" *jdbc-type="INTEGER" *primarykey="true" */ protected Integer id; ... } /** * @ojb.class generate-table-info="false" *determine-extents="true" *include-inherited="true" */ public interface ReportParameterValue extends PersistentObject { public String getValue(); public void setValue(String value); } /** * @ojb.class table="FooTable" *include-inherited="true" */ public class FooImpl extends PersistentObjectImpl implements Foo { /* * @ojb.field column="StringValueColumn" */ protected String value; ... } This is the repository it produces:
Re: [SUGGESTION] - S01 - Website.MainPage & QuickStarts
Ilias Lazaridis wrote: The below document is a draft-version proposal for the main-page of the OJB website. It focuses on two points: - getting visitors to try it! - pointing out OJB's major top-level strenghts! The suggested quick-starts would allow: - newcomers : to use OJB to quickly explore real JAVA OOAD in conjunction with IDE's like NetBeans. - evaluators: to check OJB quickly without affection of the running developement system I can create those quick-start-projects. Assistance from OJB-team needed: mostly a few answers to questions which I raise during the creation process [within the user list]. The main goal is to make the tutorials modular (stepwise increase of complexity), transparent (newcomer-safe, e.g. no domain-knowledge necessary) and efficient (quick introduction). We always welcome enhancements, especially when it comes to the documentation, so please post whatever you've got :-) Btw, best is either textual or in the Forrest format (is really easy, see the OJB documentation source). [A question: is it possible to retrieve older versions of the OJB website, e.g. to track changes?] Yes, sort of. You've got to check out OJB for a particular date or use one of the earlier versions (there is a link in the download area) and build the documentation new ("ant docs"). Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: join with ojb
[EMAIL PROTECTED] wrote: If the cardinality is as following: Addressen 1:n Adressen_adressart_typ 1:n Adressartandtyp 1:n Right you are, this is our cardinality. Then you can have several instances of the same Adress. Exactly. You can ensure (force) the outer joins with query.setPathOuterJoin(".") for example. O.K. Thanks. :) regards Thomas - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
hi ilias, this is correct! cp.bat is only used add all jars to the classpath jakob Ilias Lazaridis schrieb: Jakob Braeuchi wrote: [...] this is tha batch file i use: @echo off set cp= for %%i in (lib\*.jar) do call cp.bat %%i set CP=classes;%CP% java -cp %CP% org.apache.ojb.tutorial1.Application => missing cp.bat content of cp.bat set CP=%CP%;%1 . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
Jakob Braeuchi wrote: [...] this is tha batch file i use: @echo off set cp= for %%i in (lib\*.jar) do call cp.bat %%i set CP=classes;%CP% java -cp %CP% org.apache.ojb.tutorial1.Application => missing cp.bat content of cp.bat set CP=%CP%;%1 . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[SUGGESTION] - S01 - Website.MainPage & QuickStarts
[please, if you like to comment on this, write inline within the contex] - The below document is a draft-version proposal for the main-page of the OJB website. It focuses on two points: - getting visitors to try it! - pointing out OJB's major top-level strenghts! The suggested quick-starts would allow: - newcomers : to use OJB to quickly explore real JAVA OOAD in conjunction with IDE's like NetBeans. - evaluators: to check OJB quickly without affection of the running developement system I can create those quick-start-projects. Assistance from OJB-team needed: mostly a few answers to questions which I raise during the creation process [within the user list]. The main goal is to make the tutorials modular (stepwise increase of complexity), transparent (newcomer-safe, e.g. no domain-knowledge necessary) and efficient (quick introduction). - [A question: is it possible to retrieve older versions of the OJB website, e.g. to track changes?] - OJB ObJectRelationalBridge - Scalable Transparent Persistence for Java Objects OJB is easy: - Don't read documentations - start with trying it: - The OJB team cares about your time - 5 min: download - self-contained: everything needed within one folder - no affection on current development system - evaluate OJB without risk - run the samples and explore its sources - netbeans 4.0 project included - eclipse 3.0 project included - 10min: create your first real application - define a java class - declare it as persistent - build *everything*, including database, with a single command - within your IDE - or from the command line - run your first application - create, retrieve, update, erase objects - 20min: extend your first app with relations (1:1, n:1, 1:n, m:n) - explore real OOAD with JAVA & OJB - stepwise define 4 more java classes - attach them to the first class - explore incremental design capabilities of OJB - watch OJB's schema update mechanisms do the work for you - 10min: migrate you first app to another database (MySQL) - watch OJB's schema migration mechanisms work for you OJB is pure: - pure java - enables pure OOAD OJB is scalable: - use it withing embedded applications - up to enterprise scale distributed applications OJB is powerfull: - fine-tune your application, with high detail grade of control - field proven Cache & distributed systems OJB is flexible in RDBMS - HSQL (already bundled), MySQL, ... OJB is flexible in API's [does not bind you to proprietary technology]: - full ODMG 3.0 compliant API - later migration to ODMG driven OODBMS systems is possible - full ODMG 3.0 standard OQL (Object Query Language) - later migration to major OODBMS systems, without change of OQL code - ODMG available for other OO languages, too (e.g. C++) - allows design of highly speed-critical code with C++/ASM bridge - [disclosure: ] - full JDO 1.0 compliant API - later migration to JDO (RDBMS/OODBMS) systems is possible - based on JDO Reference Implementation - highest compatibility - [disclosure: performancy penalty of ~XX%, see performance notes] - native implementations sheduled for OJB 2.0 - an OTM API (ODMG / JDO common functionality) - if you are still undecided which one to use - a low-level OJB API (PersistenceBroker) - all other api's are based on this - allows definition of your in-house API's - e.g. when creating specific Frameworks. . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
it's in bin\ Ilias Lazaridis schrieb: Jakob Braeuchi wrote: hi ilias, this is tha batch file i use: @echo off set cp= for %%i in (lib\*.jar) do call cp.bat %%i set CP=classes;%CP% java -cp %CP% org.apache.ojb.tutorial1.Application => missing cp.bat . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
Jakob Braeuchi wrote: hi ilias, this is tha batch file i use: @echo off set cp= for %%i in (lib\*.jar) do call cp.bat %%i set CP=classes;%CP% java -cp %CP% org.apache.ojb.tutorial1.Application => missing cp.bat . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Solved! Re: ojb 1.0.1 ant junit fails, but absolutey sure, that setup is correct
[EMAIL PROTECTED] wrote: Thank you, Thomas! Exactly that was the problem... :-) hmmm MANY Errors with oracle 8 and ojb :-( I think you have to tweak the settings so that Oracle plays nicely. You should check the mailing list archives for more info. Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
hi ilias, this is tha batch file i use: @echo off set cp= for %%i in (lib\*.jar) do call cp.bat %%i set CP=classes;%CP% java -cp %CP% org.apache.ojb.tutorial1.Application hth jakob Ilias Lazaridis schrieb: Jakob Braeuchi wrote: hi all, i commited the new quick-start to 1.0.x branch. please check it out ! this sounds good, but does not help me. I still need the commandline / ant-target new addition to start the tutorial (see the other messages). . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Solved! Re: ojb 1.0.1 ant junit fails, but absolutey sure, that setup is correct
Thank you, Thomas! Exactly that was the problem... :-) hmmm MANY Errors with oracle 8 and ojb :-( best regards Frank Thomas Dudziak <[EMAIL PROTECTED]> schrieb am 15.11.2004, 17:43:16: > [EMAIL PROTECTED] wrote: > > >Hi all, > > > >my problem is that I want to try the ant jnuit test with my oracle8 and > >ojb 1.0.1, ant 1.6.2 (binary), current jdo from java.sun.com > >ant in path > > > >the build runs fine > >with compile and macke tables on database (connection is running) > >tables created. > >(no errors at all) > > > >but afterwards I try to run: ant junit-no-compile-no-prepare > >and the standard error msg pops up: > >- > >D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1>ant > >junit-no-compile-no-prepare > >Buildfile: build.xml > > > >junit-no-compile-no-prepare: > > > >BUILD FAILED > >D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1\build.xml:979: Could > >not creat > >e task or type of type: junit. > > > >Ant could not find the task or a class this task relies upon. > > > >This is common and has a number of causes; the usual > >solutions are to read the manual pages then download and > >install needed JAR files, or fix the build file: > >... > > > >is there any idea? > >because i try to run this test because of problems with my oracle8 db > >and ojb 1.0.1 (drescribed earlier in another email) > >thank you in advance. > > > > > There is probably no junit jar for Ant to use (it doesn't ship with > one). So copy the junit jar from OJB's lib folder to the Ant lib folder > and all should work fine.. > > Tom > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Timestamp and caching?
I used TIMESTAMP JDBC type for my column, and java.sql.Timestamp for my Java entity. That's what you like to know? - Jean-Francois Croteau Services Informatiques IBM Canada Ltée (Bromont) E-mail : [EMAIL PROTECTED] Tél. : (450) 534-6556 [EMAIL PROTECTED] c.eu.int To 2004-11-15 11:48 [EMAIL PROTECTED] cc Please respond to Subject "OJB Users List" RE: Timestamp and caching? Hi Jean-Francois, What is your mapping ? It seems that there is a truncate somewhere, but it seems to be at the field-descriptor level. It seems that the precision of the object used for primary key (and then caching) does not go further than the second. Personally, I use the TIMESTAMP jdbc type, with a conversion class that converts my timestamp into a Date. David WIESZTAL. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, November 15, 2004 4:45 PM To: [EMAIL PROTECTED] Subject: Timestamp and caching? Hi everyone. I have a DB2 table that has a Timestamp column as primary key. My OJB code was just right with the OJB 1.0.0 version. I've tried to upgrade the OJB to the 1.0.1 version. For some reason (I suspect caching), my select query doesn't work anymore. Here is some data: Here is the DB2 table. See that in 2 differents seconds, we have 6 events: 4 in the first second and 2 in the second. EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.760608 SLALIBER Message #2 2004-11-05 11:08:21.798037 TITI Message #3 2004-11-05 11:08:21.829017 TOTO Message #4 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.180625 TUTU Message #5 If I use my OJB version 1.0.1 query , I obtain this result : EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.080724 TYTY Message #5 I red this in the changes.txt file from version 1.0.1: CHANGES: - Performance improvement in RsIterator, first only map PK values from the result set and check against the cache. If no match map all field values from result set to internal Map class (old version always maps all values from the result set to the internal Map class). So I tried to add "another" primary key in my repository.xml file and it worked. So I guess something is truncated in the caching hashmap. Any though on this? - Jean-Francois Croteau IBM Canada Ltée (Bromont) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Timestamp and caching?
Hi Jean-Francois, What is your mapping ? It seems that there is a truncate somewhere, but it seems to be at the field-descriptor level. It seems that the precision of the object used for primary key (and then caching) does not go further than the second. Personally, I use the TIMESTAMP jdbc type, with a conversion class that converts my timestamp into a Date. David WIESZTAL. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, November 15, 2004 4:45 PM To: [EMAIL PROTECTED] Subject: Timestamp and caching? Hi everyone. I have a DB2 table that has a Timestamp column as primary key. My OJB code was just right with the OJB 1.0.0 version. I've tried to upgrade the OJB to the 1.0.1 version. For some reason (I suspect caching), my select query doesn't work anymore. Here is some data: Here is the DB2 table. See that in 2 differents seconds, we have 6 events: 4 in the first second and 2 in the second. EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.760608 SLALIBER Message #2 2004-11-05 11:08:21.798037 TITI Message #3 2004-11-05 11:08:21.829017 TOTO Message #4 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.180625 TUTU Message #5 If I use my OJB version 1.0.1 query , I obtain this result : EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.080724 TYTY Message #5 I red this in the changes.txt file from version 1.0.1: CHANGES: - Performance improvement in RsIterator, first only map PK values from the result set and check against the cache. If no match map all field values from result set to internal Map class (old version always maps all values from the result set to the internal Map class). So I tried to add "another" primary key in my repository.xml file and it worked. So I guess something is truncated in the caching hashmap. Any though on this? - Jean-Francois Croteau IBM Canada Ltée (Bromont) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: join with ojb
Danilo Tommasina wrote: Ok, then try something like this: Criteria crit = new Criteria(); crit.addEqualTo( "..addressart", new Integer( 1 ) ); is a collection. Can I do this with a collection? I try it. The reference in our address mapping looks like this: regards Thomas -- Mit freundlichen Grüßen Thomas Franke Geschäftsführer softEnergy GmbH The energy for a better world softEnergy GmbH Platz der Freundschaft 1 18059 Rostock fon: +49 381 40 587 535 fax: +49 381 40 587 555 mobil: +49 1715222015 http://www.softenergy.de mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ojb 1.0.1 ant junit fails, but absolutey sure, that setup is correct
[EMAIL PROTECTED] wrote: Hi all, my problem is that I want to try the ant jnuit test with my oracle8 and ojb 1.0.1, ant 1.6.2 (binary), current jdo from java.sun.com ant in path the build runs fine with compile and macke tables on database (connection is running) tables created. (no errors at all) but afterwards I try to run: ant junit-no-compile-no-prepare and the standard error msg pops up: - D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1>ant junit-no-compile-no-prepare Buildfile: build.xml junit-no-compile-no-prepare: BUILD FAILED D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1\build.xml:979: Could not creat e task or type of type: junit. Ant could not find the task or a class this task relies upon. This is common and has a number of causes; the usual solutions are to read the manual pages then download and install needed JAR files, or fix the build file: ... is there any idea? because i try to run this test because of problems with my oracle8 db and ojb 1.0.1 (drescribed earlier in another email) thank you in advance. There is probably no junit jar for Ant to use (it doesn't ship with one). So copy the junit jar from OJB's lib folder to the Ant lib folder and all should work fine.. Tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ojb 1.0.1 ant junit fails, but absolutey sure, that setup is correct
Hi all, my problem is that I want to try the ant jnuit test with my oracle8 and ojb 1.0.1, ant 1.6.2 (binary), current jdo from java.sun.com ant in path the build runs fine with compile and macke tables on database (connection is running) tables created. (no errors at all) but afterwards I try to run: ant junit-no-compile-no-prepare and the standard error msg pops up: - D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1>ant junit-no-compile-no-prepare Buildfile: build.xml junit-no-compile-no-prepare: BUILD FAILED D:\db-ojb-1.0.1-bin\db-ojb-1.0.1-src\db-ojb-1.0.1\build.xml:979: Could not creat e task or type of type: junit. Ant could not find the task or a class this task relies upon. This is common and has a number of causes; the usual solutions are to read the manual pages then download and install needed JAR files, or fix the build file: ... is there any idea? because i try to run this test because of problems with my oracle8 db and ojb 1.0.1 (drescribed earlier in another email) thank you in advance. best regards - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: join with ojb
Hi Thomas and Danilo, What Thomas is proposing works fine. But be careful with the result. If the cardinality is as following: Addressen 1:n Adressen_adressart_typ 1:n Adressartandtyp 1:n Then you can have several instances of the same Adress. You will have to make the "distinct" manually. Be also aware that ojb will do its best to create the joins. You can ensure (force) the outer joins with query.setPathOuterJoin(".") for example. David WIESZTAL. -Original Message- From: Danilo Tommasina [mailto:[EMAIL PROTECTED] Sent: Monday, November 15, 2004 5:16 PM To: OJB Users List Subject: Re: join with ojb Ok, then try something like this: Criteria crit = new Criteria(); crit.addEqualTo( "..addressart", new Integer( 1 ) ); QueryByCriteria query = new QueryByCriteria( Adressen.class, crit, true ); PersistenceBroker pb = null; try { pb = PersistenceBrokerFactory.defaultPersistenceBroker(); Collection results = pb.getCollectionByQuery( query ); // The Collection now contains instances of class Adressen } catch ( Exception e ) { // Do exception handling } finally { if ( pb != null ) { pb.close(); } } > Danilo Tommasina wrote: > > Thanks a lot for your help. > >> With the PersistenceBroker API you can use a ReportQueryByCriteria > > O.K., but we want as result a collection with 'Address' objects. The > 'name' attribute is an exampel only. Sorry, my question was not clear > enough. We don't know the right mapping and how to build the 'Criteria' > object. > > regards > > Thomas > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: validation query for connection failed
Ribi Roland wrote: Thanks for your help, Roland. http://www.websina.com/bugzero/kb/oracle-connection.html This is not our problem, because we almost always get a connection. The problem only occurs sometimes. But to often. An other problem could be that some Broker stay open after use. I had this behavior in my tomcat-application. After I checked the code where a PersistenceBroker is used and implemented the call of the close method correctly at the end of any request (also if it throws an exception!), it works fine. We found one method, where the broker wasn't closed. Now all the brokers are definitely being closed in a finally block but our problem is still there. regards Thomas -- Mit freundlichen Grüßen Thomas Franke Geschäftsführer softEnergy GmbH The energy for a better world softEnergy GmbH Platz der Freundschaft 1 18059 Rostock fon: +49 381 40 587 535 fax: +49 381 40 587 555 mobil: +49 1715222015 http://www.softenergy.de mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: join with ojb
Ok, then try something like this: Criteria crit = new Criteria(); crit.addEqualTo( "..addressart", new Integer( 1 ) ); QueryByCriteria query = new QueryByCriteria( Adressen.class, crit, true ); PersistenceBroker pb = null; try { pb = PersistenceBrokerFactory.defaultPersistenceBroker(); Collection results = pb.getCollectionByQuery( query ); // The Collection now contains instances of class Adressen } catch ( Exception e ) { // Do exception handling } finally { if ( pb != null ) { pb.close(); } } Danilo Tommasina wrote: Thanks a lot for your help. With the PersistenceBroker API you can use a ReportQueryByCriteria O.K., but we want as result a collection with 'Address' objects. The 'name' attribute is an exampel only. Sorry, my question was not clear enough. We don't know the right mapping and how to build the 'Criteria' object. regards Thomas - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
Jakob Braeuchi wrote: hi all, i commited the new quick-start to 1.0.x branch. please check it out ! this sounds good, but does not help me. I still need the commandline / ant-target new addition to start the tutorial (see the other messages). . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: join with ojb
Danilo Tommasina wrote: Thanks a lot for your help. With the PersistenceBroker API you can use a ReportQueryByCriteria O.K., but we want as result a collection with 'Address' objects. The 'name' attribute is an exampel only. Sorry, my question was not clear enough. We don't know the right mapping and how to build the 'Criteria' object. regards Thomas -- Mit freundlichen Grüßen Thomas Franke Geschäftsführer softEnergy GmbH The energy for a better world softEnergy GmbH Platz der Freundschaft 1 18059 Rostock fon: +49 381 40 587 535 fax: +49 381 40 587 555 mobil: +49 1715222015 http://www.softenergy.de mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Timestamp and caching?
Hi everyone. I have a DB2 table that has a Timestamp column as primary key. My OJB code was just right with the OJB 1.0.0 version. I've tried to upgrade the OJB to the 1.0.1 version. For some reason (I suspect caching), my select query doesn't work anymore. Here is some data: Here is the DB2 table. See that in 2 differents seconds, we have 6 events: 4 in the first second and 2 in the second. EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.760608 SLALIBER Message #2 2004-11-05 11:08:21.798037 TITI Message #3 2004-11-05 11:08:21.829017 TOTO Message #4 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.180625 TUTU Message #5 If I use my OJB version 1.0.1 query , I obtain this result : EVENT_TMST (Primary Key) USERID EVENT_MSG -- -- -- 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:21.603950 JECROTEA Message #1 2004-11-05 11:08:22.080724 TYTY Message #5 2004-11-05 11:08:22.080724 TYTY Message #5 I red this in the changes.txt file from version 1.0.1: CHANGES: - Performance improvement in RsIterator, first only map PK values from the result set and check against the cache. If no match map all field values from result set to internal Map class (old version always maps all values from the result set to the internal Map class). So I tried to add "another" primary key in my repository.xml file and it worked. So I guess something is truncated in the caching hashmap. Any though on this? - Jean-Francois Croteau IBM Canada Ltée (Bromont) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
Łukasz Korzybski wrote: Dnia niedziela, 14 listopada 2004 21:29, Thomas Dudziak napisał: Ilias Lazaridis wrote: [...] NB 4.0 uses ant natively for its projects. To run obj-blank in NB: New Project -> Java Project with Existing Ant Script We need to choose project location and select build.xml After creation, in project properties we can select build, deploy etc. targets. Open build.xml and add run target: thank you [note: the ant-target "run" works from the command-line, too] Please use this slight corrected version for Tutorial 1: And everything should fly. problem: [root]/build.xml [root]/build/classes [root]/build/resources the application runs withing [root]. the application needs to access files within /build/resources Can one make the necessary modification to the above ant-target "run"? . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: join with ojb
Hi, What you are doing is using inner joins with legacy Oracle or Sybase syntax (and probably several other DBs). With the PersistenceBroker API you can use a ReportQueryByCriteria something like this: Criteria crit = new Criteria(); crit.addEqualTo( "..addressart", new Integer( 1 ) ); ReportQueryByCriteria query = new ReportQueryByCriteria( Adressen.class, new String [] { "name" }, crit, true ); PersistenceBroker pb = null; try { pb = PersistenceBrokerFactory.defaultPersistenceBroker(); Iterator results = pb.getReportQueryIteratorByQuery( query ); // Extract the value you need before closing the PersistenceBroker // The Iterator entries are Object [] containing a single String representing the name // String name = (String) ((Object []) results.next())[ 0 ]; } catch ( Exception e ) { // Do exception handling } finally { if ( pb != null ) { pb.close(); } } Modify the addEqualTo( ... ) statement according to your repository.xml, without this file i cannot help more. bye Danilo Hallo there, I want to do this with ojb but I can't find a good and straight forward way. SELECT DISTINCT A.name FROM adressen A, adressen_adressart_typ B, adressartandtyp C WHERE A.adressen_id = B.adressen_id AND B.adressart_id = C.adressart_id AND C.adressart = 1; Could anyone give me a simple solution? Thanks in advance. regards Thomas - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [QUICKSTART] - A OJB quickstart similar to hibernate
Ilias Lazaridis wrote: Ilias Lazaridis wrote: Thomas Dudziak wrote: [...] If you just want to run something, then drop in the source files and do I want to run and explore it. ant build ant setup-db cd build/resources java -classpath "the;classpath" whatever.you.main.class.is ok, will try. I've compiled the code within netbeans, but i'm not able to start within the IDE. can you please give me the exact command line for the tutorial 1? My project resides on: J:\pj\ojbeval\ojb-blank\src\java\org\apache\ojb\tutorial1 Can one please give me the exact command-line i have to use for the tutorial 1? . -- http://lazaridis.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
join with ojb
Hallo there, I want to do this with ojb but I can't find a good and straight forward way. SELECT DISTINCT A.name FROM adressen A, adressen_adressart_typ B, adressartandtyp C WHERE A.adressen_id = B.adressen_id AND B.adressart_id = C.adressart_id AND C.adressart = 1; Could anyone give me a simple solution? Thanks in advance. regards Thomas -- Mit freundlichen Grüßen Thomas Franke Geschäftsführer softEnergy GmbH The energy for a better world softEnergy GmbH Platz der Freundschaft 1 18059 Rostock fon: +49 381 40 587 535 fax: +49 381 40 587 555 mobil: +49 1715222015 http://www.softenergy.de mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ojb 1.0.1 does'nt uses ?
Hi, Is it correct that ojb 1.0.1 does'nt uses the settings from repository.xml and uses the defaults in OJB.properties instead? I had the following settings but it did'nt used it: I tried many settings and I had always the same Exceptions at a specific amount of request on my tomcat application. Now I tried to set this settings in the OJB.properties and it works ... Is it a bug or a feature? :) Roland Ribi - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Bug identified (was RE: SQLExcpetion)
I believe that I have solved this problem, and that there is a bug in OJB. I cannot be sure, but with the fix, the app has been running for 10 days now with no reported errors. It seems that in certain circumstances an old connection will be reused, and it will not be validated (or checked for being alive). The following conditions are required for the error to occur : 1. An object is cached (it will only happen with a long term cache - eg ObjectCacheDefaultImpl) 2. The object has been cached for long enough for the database connection that was used to load it has expired 3. The object was loaded from outside a transaction (or possibly also inside a very long living transaction) 4. A collection proxy (not sure if it affects other proxies) is materialised from within this object What seems to happen, is the connection which was used to load the object is held onto, and when the collection is materialised it reuses this stale connection and crashes out. It might also be caused if it has already been materialised and refresh=true - not sure how that works though. This bug will only affect people using OJB in accordance with the above criteria. ObjectCachePerBrokerImpl shouldn't be affected. Also the bug wont apply if using transactions - as when it is closed it drops the connection. The solution is in ConnectionManagerImpl.getConnection method. The code is already there, but commented out: > > // if (con == null || !isAlive(con)) > // isAlive check, how do we react if false and we in tx? > // create a new connection isn't the right way I think. > if (con == null) I think this code should be applied - or at the very least, should be modified and applied if not inside a transaction: if (con == null || (!isInLocalTransaction() && !isAlive(con)) ) Daniel. > -Original Message- > From: Daniel Perry [mailto:[EMAIL PROTECTED] > Sent: 02 November 2004 11:14 > To: OJB Users List > Subject: RE: SQLExcpetion > > > Once again our app has started getting these errors (see trace below). It > seems to be happening after several days of operation. > > The problem always seems to happen when iterating over a proxied > collection > in a jsp (using jakarta JSTL c:forEach tag). > > See comments below: > > > Is the error always caused by the same class > > > > at > > org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForE > > >>> > > >>>achIterator > > > > or always caused when materialized a proxied collection? > > Yes it's caused by that same class, but not always from the same jsp. > > But it's also always when proxied collections are materialised. > > > > > Does the error occur when OJB materialize a class with clob/blob or > > binary/object field? > > > > Dont think so. > > > > Is there a way for me to clear the connection pool? > > > > You can try > > ConnectionFactoryFactory.createConnectionFactory().releaseAllResources() > > CFF is a singleton. This call clear the used pool and close all > > connections of the pool (connections in use will be ignored AFAIK) > > > > Or extend ConnectionFactoryPooledImpl and add your own > monitoring methods. > > > I've tried clearing the connection pool every hour, so the connections > should be fine. I havnt tried clearing the cache... > > How are connections obtained when cached objects have their proxied > collections materialised? (note no transactions are being used) > > I think an object is being loaded, and stuck in the cache. Days later the > object is being used and is having a proxied collection materialised, and > this is using the origional connection. > > From what i can see in the code, a collection proxy obtains a broker, the > broker obtains a connection - but (and i might have got the code > wrong here) > it should reuse the broker it used when it was initally loaded, > and then the > broker reuses the conenction without checking it isnt closed : > ConnectionManagerImpl.getConnection > > // if (con == null || !isAlive(con)) > // isAlive check, how do we react if false and we in tx? > // create a new connection isn't the right way I think. > if (con == null) > > This only checks if it has a connection, not if the connection is valid. > Maybe i should reinstate the (con == null || !isAlive(con)) ??? > > Could this be the cause of my problem? or am i way off track! > > Daniel. > > Stack trace: > > org.apache.jasper.JasperException: > org.apache.ojb.broker.PersistenceBrokerException: > org.apache.ojb.broker.PersistenceBrokerSQLException: > java.sql.SQLException: > No operations allowed after connection closed. > > Connection was closed due to the following exception: > > ** BEGIN NESTED EXCEPTION ** > > java.sql.SQLException > MESSAGE: Communication link failure: java.io.IOException, > underlying cause: > Unexpected end of input stream > > ** BEGIN NESTED EXCEPTION ** > > java.io.IOException > MESSAGE: Unexpected end of input stream > > STACKTRACE: > > java.io.IOExceptio
auto-retrieve="false" and retrieving that
Hi, I have a collection which has auto-retrieve="false". Now I need that information, how can I make it to retrieve it? I tried using broker.getAllReferences (obj) but it didn't work. or do I just have to use getCollectionByQuery? Using ojb101 Thanks, Joose -- "Always remember that you are unique, just like everyone else!" * http://iki.fi/joose/ * [EMAIL PROTECTED] * +358 44 561 0270 * - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
BUG(?): 2 classes, same table name, different database
So, is this a bug in OJB? So one software, 2 database 2 classes 2 different kind of table, but they are both named same => table <-> class mapping is not working - Joose 12.11.2004 kello 09:43, Joose Vettenranta kirjoitti: I forgot to say, that I have different dbuser and different connection for both of dabases. And both connection is described with jdbc-connection-descriptor -element and using : Thanks, Joose 12.11.2004 kello 09:33, Joose Vettenranta kirjoitti: Hi, I have 2 databases, let's call them db1 and db2 in db1 I have table called admin in db2 I have also table called admin but they are not like each other, they have different kind of table structure. for db1 I have a class to access table admin, let's call it net.vettenranta.db1.AdminImpl; for db2 I have a class to access table admin, let's call it net.vettanranta.db2.Admin; Now, here is the problem: when I try to get data from db2 it tries also get db1's fields (most likely same happens to db1 class, but have not tried yet) which causes error: Caused by: java.sql.SQLException: ERROR: No such attribute a0.uid So, is it possible to tell ojb that "heyy, it's this db2.Admin reference you have to use from repository, not db1.AdminImpl"? Using ojb1.0.1 Thanks, Joose -- "Always remember that you are unique, just like everyone else!" * http://iki.fi/joose/ * [EMAIL PROTECTED] * +358 44 561 0270 * - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: NullPointerException in OjbStorePMF.getStoreManager
Thanks Armin, the fix worked. regards, Magnus Armin Waibel wrote: Hi Magnus, > Caused by: java.lang.NullPointerException >at > org.apache.ojb.broker.util.logging.LoggerFactoryImpl.getLogger(LoggerFactoryImpl.java:163) > >at > org.apache.ojb.broker.util.logging.LoggerFactory.getLogger(LoggerFactory.java:74) > Could it be that the file OJB.properties couldn't be read? Think you are right. Assume the NPE (will fix this CVS) was caused by the logger class and this class will be 'null' when OJB could not read the configuration. regards, Armin Magnus Strand wrote: Hi, I use db-ojb1.0.1 (JDO) from an MDB (SUN Java System app server 2004Q4beta on Windows XP SP2). When I call the java code from the command line it works fine. I have added c:\myclasses to the app servers CLASSPATH-suffix and in this folder I have all the JARs neeeded and OJB.properties and repository.xml etc. in my MDB's onMessage-method: PersistenceManagerFactory factory = new OjbStorePMF(); UCEnterNewPerson enp = new UCEnterNewPerson(factory); enp.createPerson(); ... public void createPerson() { inti; // read in all relevant information and fill the new object: PersistenceManager manager = factory.getPersistenceManager(); Transactiontx = manager.currentTransaction(); // 1. this will be our new object Person newPerson = new Person(); newPerson.setFirstname("J"); newPerson.setLastname("Lo"); tx.begin(); // this line I think throws the exception manager.makePersistent(newPerson); // commit transaction tx.commit(); manager.close(); // now perform persistence operations } ... Could it be that the file OJB.properties couldn't be read? Any help will be appreciated. Regards Magnus Strand [#|2004-11-05T14:33:47.448+0100|INFO|sun-appserver-pe8.1|javax.enterprise.system.stream.out|_ThreadID=11;| MESSAGE BEAN v.2: Message received: This is message 1|#] [#|2004-11-05T14:33:48.019+0100|VARNING|sun-appserver-pe8.1|javax.enterprise.system.stream.err|_ThreadID=11;|org.apache.ojb.jdori.sql.OjbStoreFatalInternalException: org.apache.ojb.jdori.sql.OjbStorePMF.getStoreManager NestedThrowables: java.lang.NullPointerException at org.apache.ojb.jdori.sql.OjbStorePMF.getStoreManager(OjbStorePMF.java:272) at com.sun.jdori.common.PersistenceManagerImpl.getStoreManager(Unknown Source) at com.sun.jdori.common.TransactionImpl.getConnector(Unknown Source) at com.sun.jdori.common.TransactionImpl.beginInternal(Unknown Source) at com.sun.jdori.common.TransactionImpl.begin(Unknown Source) at org.apache.ojb.tutorial5.UCEnterNewPerson.createPerson(Unknown Source) at samples.ejb.mdb.simple.ejb.SimpleMessageBean.onMessage(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:149) at java.security.AccessController.doPrivileged(Native Method) at com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:950) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:154) at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:956) at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:42) at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:130) at $Proxy13.onMessage(Unknown Source) at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:166) at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:398) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.util.logging.LoggerFactoryImpl.getLogger(LoggerFactoryImpl.java:163) at org.apache.ojb.broker.util.logging.LoggerFactory.getLogger(LoggerFactory.java:74) at org.apache.ojb.jdori.sql.OjbStoreManager.(OjbStoreManager.java:57) at org.apache.ojb.jdori.sql.OjbStorePMF.getStoreManager(OjbStorePMF.java:262) ... 21 more NestedThrowablesStackTrace: java.lang.NullPointerException at org.apache.ojb.broker.util.logging.LoggerFactoryImpl.getLogger(LoggerFactoryImpl.java:163) at org.apache.ojb.broker.util.logging.LoggerFactory.getLogger(LoggerFactory.java:74) at org.apache.ojb.jdori.sql.OjbStoreManager.(OjbStoreManager.java:57) at org.apache.ojb.jdori.sql.OjbStorePMF.getStoreManager(OjbStorePMF.java:262) at com.sun.jdori.common.PersistenceManagerImpl.getStoreManager(Unknown Source)