First, forgive me for cross-posting. This should be on the Spring forum, but I 
couldn't get any responses. So, I'm hoping someone here might be able to 
enlighten me.

My environment is Spring/CXF framework in a jdk 6 jvm, using JPA with 
Eclipselink for persistence.

I have written a process to daily map 20-30K XML nodes to corresponding 
transaction tables in DB2. The main class that drives this application spawns 
about a dozen DAO threads, which wakes up periodically to read an ArrayDeque 
that the main class populates with XML nodes that the given DAO should map and 
persist to DB2.

When the daily job is done, each of the threads go into a wait state, and the 
next day, when the process fires off again, the main class issues to each DAO 
thread a notify so that they wake up again and begin processing the ArrayDeque.

So far, so good. However, everything executes without error, but nothing 
actually persists to the DB2. Obviously, the frameworks and DAO threads are 
still active in the JVM instance. The EntityManagerFactory is still active, but 
something is missing, or has detached, from the original run so that the 
em.persist, although it executes without error, it doesn't actually save 
anything.

To fix this, in the interim, I restart the JVM every morning at 3am because the 
original run of this program works fine. It's the subsequent one that fails.  
Btw, I've deployed this app as a web app so that it can be remotely invoked if 
necessary. So, obviously, it uses the all the ApplicationContext wiring.

Any help is greatly appreciated.

Ron Grimes


Reply via email to