Hi,
I am currently upgrading from ver 0.9.8 to ver 1.0 rc3. I used to be able to
store objects
with no problems but am now having problems with getting the identifiers
generated from org.apache.ojb.broker.util.sequence.HighLowSequence. It keeps
on giving me an
ERROR: No such attribute a0.version when I try to store.
I used this org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl
class with no problems at all in version 0.9.8.
Now the only thing that works is
org.apache.ojb.broker.util.sequence.SequenceManagerInMemoryImpl.
My question is why and what is the difference between these two sequence
managers.
Cheers
Paula
The operation I perform is as follows:
try {
// Set author
Author author = new Author();
author.setAuthor(name);
author.setEmailAddress(emailAddress);
// Add comment to vector
Vector commentVector = author.getCommentVector();
commentVector.addElement(comment);
author.setCommentVector(commentVector);
ObjectModificationDefaultImpl objectMod = new
ObjectModificationDefaultImpl(true, false);
broker.beginTransaction();
broker.store(author, objectMod);
broker.commitTransaction();
} catch (Exception e) {
e.printStackTrace();
broker.abortTransaction();
return false;
}
The repostitory_database.xml extract is:
<sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl">
<attribute attribute-name="grabSize" attribute-value="20"/>
<attribute attribute-name="autoNaming" attribute-value="true"/>
<attribute attribute-name="globalSequenceId"
attribute-value="false"/>
<attribute attribute-name="globalSequenceStart"
attribute-value="10000"/>
</sequence-manager>
The stack trace and logfile I get is as follows with
org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl:
36107 DEBUG [Thread-4] accesslayer.ConnectionManagerImpl - Try to change
autoCommit state to 'false'
36107 DEBUG [Thread-4] cache.ObjectCacheFactory - Object cache created,
using cache:[EMAIL PROTECTED]
CACHE STATISTICS
Count of temporarily cached objects=0
]
36107 DEBUG [Thread-4] sequence.SequenceManagerFactory - create new sequence
manager for broker [EMAIL PROTECTED]
36107 DEBUG [Thread-4] sequence.SequenceManagerFactory -
Jdbc-Connection-Descriptor 'postgres' use sequence manager: class
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl
36123 DEBUG [Thread-4] accesslayer.ConnectionFactoryPooledImpl - makeObject
called
36138 DEBUG [Thread-4] accesslayer.ConnectionManagerImpl - Request new
connection from ConnectionFactory:
[EMAIL PROTECTED]
36138 DEBUG [Thread-4] accesslayer.ConnectionManagerImpl - Try to change
autoCommit state to 'false'
36154 DEBUG [Thread-4] core.PersistenceBrokerImpl - getCollectionByQuery
(class org.apache.ojb.broker.util.collections.RemovalAwareCollection, class
org.apache.ojb.broker.util.sequence.HighLowSequence, Query from class
org.apache.ojb.broker.util.sequence.HighLowSequence where
[EMAIL PROTECTED])
36154 DEBUG [Thread-4] core.PersistenceBrokerImpl - Creating RsIterator for
class [org.apache.ojb.broker.util.sequence.HighLowSequence]
36154 DEBUG [Thread-4] accesslayer.JdbcAccessImpl - executeQuery : Query
from class org.apache.ojb.broker.util.sequence.HighLowSequence where
[EMAIL PROTECTED]
36154 DEBUG [Thread-4] sql.SqlGeneratorDefaultImpl - SQL:SELECT
A0.VERSION,A0.GRAB_SIZE,A0.MAX_KEY,A0.FIELDNAME,A0.TABLENAME FROM OJB_HL_SEQ
A0 WHERE (A0.TABLENAME LIKE ? ) AND A0.FIELDNAME LIKE ?
36169 ERROR [Thread-4] accesslayer.JdbcAccessImpl - SQLException during the
execution of the query (for a
org.apache.ojb.broker.util.sequence.HighLowSequence): ERROR: No such
attribute a0.version
java.sql.SQLException: ERROR: No such attribute a0.version
at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131)
at
org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connection
.java:505)
at
org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.j
ava:320)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.j
ava:48)
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statem
ent.java:153)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unkn
own Source)
at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(U
nknown Source)
at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong
(Unknown Source)
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueId(Unkn
own Source)
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(U
nknown Source)
at org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(Unknown
Source)
at org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(Unknown
Source)
at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(Unknown Source)
at org.apache.ojb.broker.Identity.init(Unknown Source)
at org.apache.ojb.broker.Identity.<init>(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
Source)
at uk.ac.ebi.compounds.dbAccess.ojb.OjbCommentor.OjbSetComments(Unknown
Source)
at uk.ac.ebi.compounds.servlets.CommentServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:493)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:386)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:530)
at java.lang.Thread.run(Thread.java:536)
36185 INFO [Thread-4] accesslayer.ConnectionManagerImpl - Rollback was
called, do rollback on current connection
[EMAIL PROTECTED]
36185 DEBUG [Thread-4] core.PersistenceBrokerImpl - PB.close was called:
[EMAIL PROTECTED]
36216 INFO [Thread-4] accesslayer.ConnectionManagerImpl - Rollback was
called, do rollback on current connection
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]