Hi Armin,

Here are my OJB.properties (I stripped the comments for brevity):

-----
repositoryFile=repository.xml
useSerializedRepository=false
serializedRepositoryPath=.
PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFa
ctoryDefaultImpl
PersistenceBrokerClass=org.apache.ojb.broker.core.PersistenceBrokerImpl
maxActive=100
maxIdle=-1
maxWait=2000
timeBetweenEvictionRunsMillis=-1
minEvictableIdleTimeMillis=1000000
whenExhaustedAction=0
ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryPo
oledImpl
ConnectionManagerClass=org.apache.ojb.broker.accesslayer.ConnectionManagerIm
pl
SqlGeneratorClass=org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultI
mpl
StatementManagerClass=org.apache.ojb.broker.accesslayer.StatementManager
StatementsForClassClass=org.apache.ojb.broker.accesslayer.StatementsForClass
Impl
JdbcAccessClass=org.apache.ojb.broker.accesslayer.JdbcAccessImpl
ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCacheEmptyImpl
descriptorBasedCaches=false
LockManagerClass=org.apache.ojb.odmg.locking.LockManagerDefaultImpl
LockMapClass=org.apache.ojb.odmg.locking.InMemoryLockMapImpl
LockTimeout=60000
ImplicitLocking=true
LockServletUrl=http://127.0.0.1:8080/ojb-lockserver
LockAssociations=WRITE
LoggerClass=org.apache.ojb.broker.util.logging.Log4jLoggerImpl
LoggerConfigFile=log4j.properties
ROOT.LogLevel=DEBUG
DEFAULT.LogLevel=INFO
org.apache.ojb.broker.core.PersistenceBrokerImpl.LogLevel=WARN
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.LogLevel=DEBU
G
org.apache.ojb.broker.metadata.RepositoryXmlHandler.LogLevel=WARN
org.apache.ojb.broker.metadata.ConnectionDescriptorXmlHandler.LogLevel=WARN
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.LogLevel=WARN
org.apache.ojb.broker.accesslayer.RsIterator.LogLevel=WARN
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.LogLevel=WARN
org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.LogLevel=WARN
org.apache.ojb.broker.metadata.RepositoryPersistor.LogLevel=WARN
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.LogLevel=WAR
N
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.LogLevel=WARN
ODMG.LogLevel=DEBUG
JDO.LogLevel=DEBUG
performance.LogLevel=INFO
soda.LogLevel=WARN
ConfigurableFactory.LogLevel=WARN
OqlCollectionClass=org.apache.ojb.odmg.collections.DListImpl_2
SqlInLimit=200
DListClass=org.apache.ojb.odmg.collections.DListImpl_2
DArrayClass=org.apache.ojb.odmg.collections.DListImpl_2
DMapClass=org.apache.ojb.odmg.collections.DMapImpl
DBagClass=org.apache.ojb.odmg.collections.DBagImpl
DSetClass=org.apache.ojb.odmg.collections.DSetImpl
PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFi
eldDirectAccessImpl
OJBTxManagerClass=org.apache.ojb.odmg.LocalTxManager
JTATransactionManagerClass=org.apache.ojb.odmg.transaction.JBossTransactionM
anagerFactory
-----

-Stijn


----- Original Message ----- 
From: "Armin Waibel" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Wednesday, April 28, 2004 5:14 PM
Subject: Re: Update problem using PersistenceBroker api


> Hi Stijn,
>
> do you use OJB default settings (OJB.properties)?
> Your test seems ok.
>
> regards,
> Armin
>
> Stijn de Witt wrote:
> > I have created a test program that attempts to load a Candidate from the
> > database with lastName="Tester". If none is found it creates a new one.
It
> > then sets the title field to a random string and stores the object.
> >
> > On the first run, no candidate is found (as expected) and a new one is
> > created and stored correctly. On the second run, the candidate stored
before
> > is found correctly, and the title is set to a new random string.
> > broker.store() is called and finishes with no errors. When I look in the
> > database however, the title field is not changed...
> >
> > What am I doing wrong?
> >
> > -Stijn
> >
> > package nl.bergland.codamo;
> >
> > import java.util.*;
> > import org.apache.log4j.LogManager;
> > import org.apache.log4j.Logger;
> > import org.apache.log4j.PropertyConfigurator;
> > import org.apache.ojb.broker.PersistenceBrokerFactory;
> > import org.apache.ojb.broker.PersistenceBroker;
> > import org.apache.ojb.broker.query.*;
> >
> > public class OjbTester
> > {
> >     private static final Logger logger =
> > LogManager.getLogger(OjbTester.class.getName());
> >     /** Creates a new instance of Test */
> >     public OjbTester()
> >     {
> >     }
> >
> >     public static void main(String[] args)
> >     {
> >         PropertyConfigurator.configure("log4j.properties");
> >
> >         logger.info("main: Starting...");
> >         logger.info("main: Getting persistence broker...");
> >         PersistenceBroker broker = null;
> >         try
> >         {
> >             broker =
PersistenceBrokerFactory.defaultPersistenceBroker();
> >             logger.info("main: Creating query criteria...");
> >             Criteria crit = new Criteria();
> >             logger.info("main: Set criteria lastName==\"Tester\"...");
> >             crit.addEqualTo("lastName", "Tester");
> >             logger.info("main: Create query...");
> >             Query q = QueryFactory.newQuery(Candidate.class, crit);
> >             logger.info("main: Fire query for a Candidate with lastName
==
> > \"Tester\"...");
> >             Collection results = broker.getCollectionByQuery(q);
> >             logger.info("main: Get result (if any)...");
> >             broker.close();
> >
> >             broker =
PersistenceBrokerFactory.defaultPersistenceBroker();
> >             logger.info("main: Starting transaction...");
> >             broker.beginTransaction();
> >             Iterator it = results.iterator();
> >             Candidate candidate;
> >             if (it.hasNext()) {
> >                 logger.info("main: Found a candidate...");
> >                 candidate = (Candidate) it.next();
> >             } else {
> >                 logger.info("main: No candidate found, create new...");
> >                 candidate = new Candidate();
> >                 candidate.setFirstName("Tommy");
> >                 candidate.setLastName("Tester");
> >             }
> >
> >
> >             logger.info("main: Assign availableFrom as current
Date...");
> >             candidate.setAvailableFrom(new java.sql.Date(new
> > java.util.Date().getTime()));
> >
> >             logger.info("main: Set random title...");
> >             Random rand = new Random();
> >             byte[] bytes = new byte[4];
> >             rand.nextBytes(bytes);
> >             String title = new String();
> >             for (int i=0; i<bytes.length; i++)
> >             {
> >                 Byte bt = new Byte(bytes[i]);
> >                 title += bt.toString();
> >             }
> >
> >             logger.info("main: Set candidate.title == " + title +
"...");
> >             candidate.setTitle(title);
> >
> >             logger.info("main: Trying to store candidate...");
> >             broker.store(candidate);
> >             logger.info("main: Stored candidate " + candidate.getId());
> >
> >             logger.info("main: Commit transaction...");
> >             broker.commitTransaction();
> >         }
> >         catch(Exception e)
> >         {
> >             if (broker == null)
> >                 logger.error("main: ERROR getting persistence broker: "
+
> > e.getMessage());
> >             else
> >             {
> >                 logger.error("main: ERROR: " + e.getMessage());
> >                 if (broker.isInTransaction())
> >                 {
> >                     logger.error("main: Rollback Transaction...");
> >                     broker.abortTransaction();
> >                 }
> >             }
> >         }
> >         finally
> >         {
> >             if (broker != null)
> >                 broker.close();
> >         }
> >
> >         logger.info("main: Done.");
> >     }
> > }
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to