openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Don Brady <dbr...@pobox.com>
Subject Cannot get QueryTimeout to work
Date Thu, 22 Mar 2007 23:47:47 GMT
Hi,

  I hope this is not off-topic on this list, but I cannot seem to get 
QueryTimeout to work, using the persistence.xml below under WebSphere 
6.1 with a DB2 connection pool defined in WebSphere, under OpenJPA 0.9.6.

  It seems to just ignore the timeout specified and run to completion no 
longer how long it takes.

  I was wondering if the below should work or if there is another way of 
setting a query timeout.  I cannot find one.

  Actually if I wrap it in a transaction, then I can set a timeout on 
the transaction and that does work.   But I was avoiding using a 
transaction on the basis of advice in the book "Pro EJB" to omit 
transactions if they are not needed, in the case of a read-only query, 
because they may incur a performance penalty.  Would that be true in 
OpenJPA for a large read-only query or should I just use a transaction 
and set the timeout on that?

  Thank you for any comments!

  Don


persistence.xml contents:

  <?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
	xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

	<persistence-unit name="mpu-prod" transaction-type="JTA">
		<provider>
			org.apache.openjpa.persistence.PersistenceProviderImpl
		</provider>
		<jta-data-source>jdbc/mship-prod</jta-data-source>
		<non-jta-data-source>jdbc/mship-prod</non-jta-data-source>		
		<mapping-file>META-INF/orm-prod.xml</mapping-file>		
		<exclude-unlisted-classes>false</exclude-unlisted-classes>
	
		<properties>
		      <property name="openjpa.jdbc.Schema" value="PROD" />
			<property name="openjpa.DataCache" value="false" />
			<property name="openjpa.RemoteCommitProvider" value="sjvm" />
			<property name="openjpa.Log"
				value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE" />
			<property name="openjpa.jdbc.DBDictionary"
				value="db2(StoreCharsAsNumbers=false)" />
			<property name="openjpa.TransactionMode" value="managed" />
			<property name="openjpa.jdbc.TransactionIsolation"
				value="read-committed" />
			<property name="openjpa.ConnectionFactoryMode"
				value="managed" />
			<property name="openjpa.ConnectionFactoryProperties" 
value="QueryTimeout=30"/>
				
	
		</properties>
	</persistence-unit>

	</persistence>

Mime
View raw message