I have indeed verified that it works across instances using Oracle and PostgresQL.
I think the problem might be the autonumber column (as mentioned somewhere else) versus the sequence object that postgres and oracle use. This means that I am NOT using the OJB sequence manager. Jason On Mon, 2003-11-03 at 06:59, Andy Czerwonka wrote: > OUCH!! If this doesn't work, the it's a MAJOR problem. Has someone > verified in using the PB API in a multi-system environment? Given that > it's using a database sequence, it shouldn't be a problem. It's got to > be a bug. > > On Mon, 2003-11-03 at 04:37, Mark Rowell wrote: > > Hi > > > > Further to my mails last week re auto incremented primary keys (integers) > > across extents I have created a very simple (non Junit based) test that > > starts 2 JVMs that write A number of instances of a concrete class into a > > table using the PerssitenceBroker API. > > > > As it is currently setup, 2 JVMs are started that each attempt to insert > > 1000 instances. Everytime I have run it (10+) I get less than 2000 rows in > > the database or I will get a parimary key violation As one JVM attempts to > > store and ID that has already been created by the other JVM. > > > > I was under the impression that the default highLow sequence implementation > > would work across JVMs for allocating IDs? > > > > The attached zip file has everything in it. If one of the OJB developers > > could take a look at it I would appreciate it. > > > > Here is the stack trace: > > > > com.jnetdirect.jsql.v: Violation of PRIMARY KEY constraint > > 'PK__Test__72F0F4D3'. Cannot insert duplicate key in object 'Test'. > > at com.jnetdirect.jsql.v.a(Unknown Source) > > at com.jnetdirect.jsql.at.a(Unknown Source) > > at com.jnetdirect.jsql.af.i(Unknown Source) > > at com.jnetdirect.jsql.af.new(Unknown Source) > > at com.jnetdirect.jsql.af.int(Unknown Source) > > at com.jnetdirect.jsql.ao.executeUpdate(Unknown Source) > > at > > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknow > > n Source) > > at > > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown So > > urce) > > at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown > > Source > > ) > > at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown > > Source > > ) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown > > Source) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown > > Source) > > at Test.main(Test.java:44) > > rethrown as org.apache.ojb.broker.PersistenceBrokerSQLException: Violation > > of PR IMARY KEY constraint 'PK__Test__72F0F4D3'. Cannot insert duplicate key > > in object 'Test'. > > at > > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknow > > n Source) > > at > > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown So > > urce) > > at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown > > Source > > ) > > at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown > > Source > > ) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown > > Source) > > at > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown > > Source) > > at Test.main(Test.java:44) > > Caused by: com.jnetdirect.jsql.v: Violation of PRIMARY KEY constraint > > 'PK__Test_ _72F0F4D3'. Cannot insert duplicate key in object 'Test'. > > at com.jnetdirect.jsql.v.a(Unknown Source) > > at com.jnetdirect.jsql.at.a(Unknown Source) > > at com.jnetdirect.jsql.af.i(Unknown Source) > > at com.jnetdirect.jsql.af.new(Unknown Source) > > at com.jnetdirect.jsql.af.int(Unknown Source) > > at com.jnetdirect.jsql.ao.executeUpdate(Unknown Source) > > ... 7 more > > > > > > I am using RC4. This test has no caching. The RDBMS is SQLServer2000. > > > > To run the test extract the zip file to some directory. Go into that > > directory and create a lib sub-dir. > > Copy the RC4 jar all the commons jars (and the Jar that contains the logging > > code -- in my case log4j) > > > > You will need a batch file called JDK14.BAT somewhere on you path that sets > > the path to point to the JDK. > > The batch file run.bat starts 2 JVMs that write the info into the database. > > > > Regards > > > > Mark Rowell > > > > ------------------------------------------- > > Mark Rowell > > Structured Credit Europe > > CreditTrade Limited > > 180 Fleet Street > > London EC4A 2HG > > > > Tel +44 (0)20 7400 5078 > > Fax +44 (0)20 7400 5099 > > > > http://www.credittrade.com > > > > > > > > > > > > CreditTrade Limited is regulated by the FSA. (c) CreditTrade 2002. All rights > > reserved. The information and data contained in this email is provided for the > > information purposes of the addressee only and should not be reproduced and/or > > distributed to any other person. It is provided without any warranty whatsoever > > and unless stated otherwise consists purely of indicative market prices and other > > information. > > > > Any opinion or comments expressed or assumption made in association with the data > > or information provided in this email is a reflection of CreditTrades judgement at > > the time of compiling the data and is subject to change. CreditTrade hereby makes > > no representation and accepts no responsibility or liability as to the > > completeness or accuracy of this email. > > > > The content of this email is not intended as an offer or solicitation for, or > > recommendation of, the purchase or sale of any financial instrument, or as an > > official confirmation of any transaction, and should not be construed as > > investment advice. > > > > ______________________________________________________________________ > > > > --------------------------------------------------------------------- > > 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]
