Hi Gary,
Gary wrote:
No, I first commit or rollback the transaction, and then close the PB.
ok, so I think this is the reason for the failure. In managed environments the PB instance has the same behavior as a DataSource in managed environments. Means that you operate with an PB handle instance (wraps the real PB instance) and after use you have to close the handle instance. If you use an connection from a DataSource in an managed environment you have to close the connection before the tx was completed too (I think so).
Maybe it will be better only to log an warning instead of throwing an exception in this case.
regards, Armin
Gary
--- Armin Waibel <[EMAIL PROTECTED]> wrote:
Gary wrote:
Armin:
Thanks for the quick reply. Do you guys have a "contribute" site like SourceForge so I could buy
you
a beer?
Think I should avoid to drink alcohol, because your
problem seems really sophisticated ;-)
No, I wasn't using the "Sync" factory. When I
change
to it, I get a new error: 2004-06-15 15:19:29,798 ERROR [TCP Connection(7)-172.24.54.129] Connection is in
local
transaction, do a 'localCommit' or 'localRollback' beforeperform the connection release - rollback
the
connection now
(org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.releaseConnection(ConnectionManagerImpl.java))
hmm, do you close the PB instance within the used
method or before the tx demarcation ends?
I assume you don't.
regards, Armin
It has the following stack trace: System Thread [TCP Connection(7)-172.24.54.129] (Suspended) ConnectionManagerImpl.releaseConnection() line:
295
PersistenceBrokerFactorySyncImpl$PersistenceBrokerSyncImpl.beforeCompletion()
line: 240
PersistenceBrokerFactorySyncImpl$TransactionBox.beforeCompletion()
line: 418 RegisteredSyncs.distributeBefore() line: 110 TransactionImpl.internalPrepare() line: 1211 TransactionImpl.commit() line: 960 TranManagerImpl.commit() line: 150 TranManagerSet.commit() line: 182
My OJB.properties is as follows: #<!-- #/* Copyright 2002-2004 The Apache Software
Foundation
# * # * Licensed under the Apache License, Version 2.0 (the "License"); # * you may not use this file except in compliance with the License. # * You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to
in
writing, software # * distributed under the License is distributed
on an
"AS IS" BASIS, # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # * See the License for the specific language governing permissions and # * limitations under the License. # */ #--> # OJB.properties -- configuration of the OJB
runtime
environment # Version: 1.0 # (c) 2001, 2002, 2003 Apache Software Foundation # Author: Thomas Mahler and many others # @version $Id: OJB.properties,v 1.70 2004/06/03 23:46:08 arminw Exp $ #
#----------------------------------------------------------------------------------------
# repository file settings
#----------------------------------------------------------------------------------------
# The repositoryFile entry tells OJB to use this
file
as as its standard mapping # repository. The file is looked up from the classpath. # repositoryFile=repository.xml # # If the useSerializedRepository entry is set to
true,
OJB tries to load a # serialized version of the repository for
performance
reasons. # if set to false, OJB always loads the xml file. # Setting this flag to true will accelerate the startup sequence of OJB. # If set to true changes to the repository.xml
file
will only be detected # after maually deleting the
repository.xml.serialized
file. useSerializedRepository=false # # If Repository serialization is used the entry serializedRepositoryPath defines the # directory where the Repository is written to and read from. # this entry is used only when the useSerializedRepository flag is set to true # serializedRepositoryPath=. #
#----------------------------------------------------------------------------------------
# PersistenceBrokerFactory / PersistenceBroker
#----------------------------------------------------------------------------------------
# The PersistenceBrokerFactoryClass entry decides which concrete # PersistenceBrokerFactory implemention is to be
used.
#PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl
# If in managed environment *only* the PB-api was
used
it's recommended to use this factory # to enable the PersistenceBroker instances to participate in the JTA transaction. This makes # e.g. PBStateListener work properly in managed environments.
PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactorySyncImpl
# # # The PersistenceBrokerClass entry decides which concrete PersistenceBroker # implementation is to be served by the PersistenceBrokerFactory. # This is the singlevm implementation:
PersistenceBrokerClass=edu.mayo.evolution.infrastructure.ojb.EvolutionPersistenceBrokerImpl
#PersistenceBrokerClass=org.apache.ojb.broker.core.PersistenceBrokerImpl
# # This is an implementation that uses Prevayler (prevayler.sf.net) as the persistent storage. # Using this implementation OJB works as a simple OODBMS
#PersistenceBrokerClass=org.apache.ojb.broker.prevayler.PBPrevaylerImpl
#
#----------------------------------------------------------------------------------------
# PersistenceBroker pool
#----------------------------------------------------------------------------------------
# PersistenceBroker pool configuration # This pool uses the jakarta-commons-pool api. # There you can find things described in detail. # # maximum number of brokers that can be borrowed
from
the # pool at one time. When non-positive, there is no limit. maxActive=100 # # controls the maximum number of brokers that can
sit
idle in the # pool (per key) at any time. When non-positive,
there
is no limit maxIdle=-1 # # max time block to get broker instance from pool, after that exception is thrown. # When non-positive, block till last judgement maxWait=2000 #
=== message truncated ===
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail
--------------------------------------------------------------------- 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]
