On Mar 31, 2008, at 4:47 AM, Łukasz Budnik wrote:

Hi David,

Now.... on startup, openjpa is likely to do a bunch of metadata analysis of the database, including possibly creating the tables etc for you, but I think at least checking that the mapping it has will work. If it creates the tables, it first looks for a non-jta datasource; if there is none, it
tries to use a connection from the jta-datasource

It's not the problem - recently I remember adding country field to a
User class and OpenJPA run ALTER TABLE without any error.

In this case I'd expect that openjpa would succeed in doing whatever metadata operations it was trying to do but possibly leave the connection it was using in the wrong transactional state for the DML operations, which is exactly what you observe.

I'd also strongly advise using the db2-specific tranql adapter. I need to
release the latest fixed version, but a snapshot is at
http://snapshots.repository.codehaus.org/org/tranql/tranql- connector-db2-xa/1.2-SNAPSHOT/tranql-connector-db2- xa-1.2-20080326.214959-2.rar

I was already using 1.2-SNAPSHOT, but above version is newer and
differs in size  by 1 byte ;) but changing the connector did not help
either.

any other clues?

-- use <xa-transaction><transaction-caching></xa-transaction> in the jta ds plan. If what I think is happening is happening, this would either fix the problem or produce a different error.
-- use <no-transaction/> in a separate non-jta ds plan

Hope this helps
david jencks


best regards
Łukasz

Reply via email to