Chris,

Something like this works for me (had to change it a bit to sanitize it):

<persistence 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_2_0.xsd";
             version="2.0">
    <persistence-unit name="metadata-service" transaction-type="RESOURCE_LOCAL">
        
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <class>com.myco.entity.MyEntity</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
            <property name="openjpa.Log" value="slf4j" />
        </properties>
    </persistence-unit>
</persistence>

I use Spring to configure it, though:

<bean id="entityManagerFactory" 
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="jpaProperties">
            <props>
                <prop 
key="openjpa.jdbc.SynchronizeMappings">${db.synchronizeMappings}</prop>
            </props>
        </property>
</bean>

I have found that just using Spring from the get-go actually saves me so much 
time, because I don't get these little weird hiccups (I get others ;).  This 
stuff has been tested by lots of folks before me. :)

James

On Feb 1, 2013, at 10:39 AM, Chris Wolf <cwolf.a...@gmail.com> wrote:

> James,
> 
> I just replied to your message from last night - I got it working by
> using your latest suggestion plus enabling DBCP connection pooling,
> although I don't know why pooling should matter.
> 
> I notice that you were able to get OpenJPA logging to work - I'd sure
> be interested in seeing your persistence.xml settings for that - I
> have not been able to get any logging from OpenJPA and I tried the
> default, the log4j and slf4j backends - all to no avail...
> 
> As for my final implementation, I think this latest code from you is
> the cleanest (for my purposes).  Again, thanks so much for the help.
> 
>   -Chris
> 
> On Fri, Feb 1, 2013 at 6:32 AM, James Carman
> <jcar...@carmanconsulting.com> wrote:
>> Chris,
>> 
>> Here's my complete class:
>> 
>> public class JpaTest
>> {
>>    public static void main(String[] args)
>>    {
>>        ClassPathXmlApplicationContext ctx = new 
>> ClassPathXmlApplicationContext("classpath:/META-INF/spring-beans.xml");
>>        final EntityManagerFactory factory = 
>> ctx.getBean(EntityManagerFactory.class);
>>        final JpaTransactionManager transactionManager = new 
>> JpaTransactionManager(factory);
>> 
>>        TransactionTemplate template = new 
>> TransactionTemplate(transactionManager);
>>        template.execute(new TransactionCallbackWithoutResult()
>>        {
>>            @Override
>>            protected void doInTransactionWithoutResult(TransactionStatus 
>> status)
>>            {
>>                EntityManager em = 
>> EntityManagerFactoryUtils.getTransactionalEntityManager(factory);
>>                for (int i = 0; i < 10; ++i)
>>                {
>>                    MyEntity entity = new MyEntity();
>>                    entity.setName("name");
>>                    em.persist(entity);
>>                }
>>            }
>>        });
>> 
>>    }
>> }
>> 
>> 
>> Here's the output I see when I turn up OpenJPA's logging:
>> 
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 1546366616 INSERT INTO MyEntity (id, name) VALUES (?, ?) 
>> [params=?, ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 702383716 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, 
>> ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 245507253 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, 
>> ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 924315284 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, 
>> ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 70275790 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, 
>> ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 9196680 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 2097261823 INSERT INTO MyEntity (id, name) VALUES (?, ?) 
>> [params=?, ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 2030360950 INSERT INTO MyEntity (id, name) VALUES (?, ?) 
>> [params=?, ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 761335820 INSERT INTO MyEntity (id, name) VALUES (?, ?) [params=?, 
>> ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> executing 
>> prepstmnt 1063557914 INSERT INTO MyEntity (id, name) VALUES (?, ?) 
>> [params=?, ?]
>> 02-01@06:30:54 TRACE (SQL)     - <t 2063246672, conn 936619118> [0 ms] spent
>> 02-01@06:30:54 TRACE (JDBC)     - <t 2063246672, conn 936619118> [1 ms] 
>> commit
>> 02-01@06:30:54 TRACE (JDBC)     - <t 2063246672, conn 936619118> [0 ms] close
>> 
>> 
>> It looks like it'll use the same connection object for each insert and 
>> commit and close it at the end (I'm using DriverManagerDataSource just to 
>> make sure it won't pool).
>> 
>> 
>> On Jan 31, 2013, at 9:14 PM, James Carman <jcar...@carmanconsulting.com> 
>> wrote:
>> 
>>> Try this:
>>> 
>>>      JpaTransactionManager transactionManager = new 
>>> JpaTransactionManager(factory);
>>> 
>>>       TransactionTemplate template = new 
>>> TransactionTemplate(transactionManager);
>>>       template.execute(new TransactionCallbackWithoutResult()
>>>       {
>>>           @Override
>>>           protected void doInTransactionWithoutResult(TransactionStatus 
>>> status)
>>>           {
>>>               EntityManager em = 
>>> EntityManagerFactoryUtils.getTransactionalEntityManager(factory);
>>>               MyEntity entity = new MyEntity();
>>>               em.persist(entity);
>>>           }
>>>       });
>>> 
>>> On Jan 31, 2013, at 5:49 PM, Chris Wolf <cwolf.a...@gmail.com> wrote:
>>> 
>>>> James,
>>>> 
>>>> Ok, now using TransactionTemplate, but I'm back to where I was - the
>>>> same apparent connection "leak", only now
>>>> the code is hideous with all those nested anonymous classes and whatnot... 
>>>> ;)
>>>> 
>>>> 
>>>> -Chris
>>>> 
>>>>  static void saveToDB(final List<MdBaseData> data) throws Exception {
>>>>             EntityManagerFactory emf = Persistence
>>>>                             .createEntityManagerFactory("marketdata");
>>>> 
>>>>             final JpaTemplate jpaTempl = new JpaTemplate(emf);
>>>>             jpaTempl.afterPropertiesSet();
>>>> 
>>>>             JpaTransactionManager jpaTxMgr = new 
>>>> JpaTransactionManager(emf);
>>>>             jpaTxMgr.afterPropertiesSet();
>>>> 
>>>>             final TransactionTemplate txTmpl = new 
>>>> TransactionTemplate(jpaTxMgr);
>>>>             txTmpl.afterPropertiesSet();
>>>> 
>>>>             TransactionStrategy txStrategy = new TransactionStrategy() {
>>>>                     @SuppressWarnings("deprecation")
>>>>                     public Object execute(final JpaCallback<?> callback) {
>>>>                             return txTmpl.execute(new 
>>>> TransactionCallback<Object>() {
>>>>                                     public Object 
>>>> doInTransaction(TransactionStatus status) {
>>>>                                             return jpaTempl.execute(new 
>>>> JpaCallback<Object>() {
>>>>                                                     public Object 
>>>> doInJpa(EntityManager entityManager)
>>>>                                                                     throws 
>>>> PersistenceException {
>>>>                                                             return 
>>>> callback.doInJpa(entityManager);
>>>>                                                     }
>>>>                                             });
>>>>                                     }
>>>>                             });
>>>>                     }
>>>>             };
>>>> 
>>>>             txStrategy.execute(new JpaCallback<Object>() {
>>>>                     @Override
>>>>                     public Object doInJpa(EntityManager em) throws 
>>>> PersistenceException {
>>>>                             for (MdBaseData bd : data) {
>>>>                                     em.persist(bd);
>>>>                             }
>>>>                             return null; // writing to db, not reading...
>>>>                     }
>>>>             });
>>>>  }
>>>> 
>>>> 
>>>> On Thu, Jan 31, 2013 at 4:42 PM, James Carman
>>>> <jcar...@carmanconsulting.com> wrote:
>>>>> Try using TransactionTemplate.
>>>>> 
>>>>> On Jan 31, 2013, at 4:19 PM, Chris Wolf <cwolf.a...@gmail.com> wrote:
>>>>> 
>>>>>> James,
>>>>>> 
>>>>>> As per your suggestion, I let Spring manage the transactions and the
>>>>>> apparent connection "leak" went away and I only see one connection
>>>>>> being opened per session, as expected.
>>>>>> 
>>>>>> Unfortunately, nothing got inserted into the database.
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> -Chris
>>>>>> 
>>>>>> My modified code looks like:
>>>>>> 
>>>>>> 
>>>>>> static void saveToDB(List<MdBaseData> data) throws Exception {
>>>>>>            EntityManagerFactory emf = Persistence
>>>>>>                            .createEntityManagerFactory("marketdata");
>>>>>>            JpaTransactionManager jpaTxMgr = new 
>>>>>> JpaTransactionManager(emf);
>>>>>> 
>>>>>> 
>>>>>>            EntityManager em =
>>>>>>                            
>>>>>> jpaTxMgr.getEntityManagerFactory().createEntityManager();
>>>>>>            TransactionStatus txStatus =
>>>>>>                    jpaTxMgr.getTransaction(new 
>>>>>> DefaultTransactionDefinition());
>>>>>>            try {
>>>>>>                    //em.getTransaction().begin();
>>>>>>                    for (MdBaseData bd : data) {
>>>>>>                            em.persist(bd);
>>>>>>                    }
>>>>>>                    //em.getTransaction().commit();
>>>>>>                    jpaTxMgr.commit(txStatus);
>>>>>>            } catch (Exception e) {
>>>>>>                    jpaTxMgr.rollback(txStatus);
>>>>>>                    e.printStackTrace();
>>>>>>            } finally {
>>>>>>                    //em.close();
>>>>>>            }
>>>>>> }
>>>>>> 
>>>>>> On Thu, Jan 31, 2013 at 2:45 PM, James Carman
>>>>>> <ja...@carmanconsulting.com> wrote:
>>>>>>> Well, it looks like you're also managing your own transactions.
>>>>>>> Perhaps just use Spring for the transaction management.
>>>>>>> 
>>>>>>> 
>>>>>>> On Thu, Jan 31, 2013 at 2:35 PM, Chris Wolf <cwolf.a...@gmail.com> 
>>>>>>> wrote:
>>>>>>>> Right, I looked into that but the Spring docs say that JpaTemplate is
>>>>>>>> deprecated in favor of native JPA APIs.
>>>>>>>> 
>>>>>>>> http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/orm/jpa/JpaTemplate.html
>>>>>>>> 
>>>>>>>> I am using OpenJPA-2.1
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> 
>>>>>>>> -Chris
>>>>>>>> 
>>>>>>>> On Thu, Jan 31, 2013 at 2:29 PM, James Carman
>>>>>>>> <ja...@carmanconsulting.com> wrote:
>>>>>>>>> Well, you're managing your entity manager yourself, right?  You could
>>>>>>>>> have a bug in there that's leaving it open?  Can you use Spring or
>>>>>>>>> some other technology to do this for you in a way where you can be
>>>>>>>>> sure everything gets cleaned up?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Thu, Jan 31, 2013 at 2:28 PM, Chris Wolf <cwolf.a...@gmail.com> 
>>>>>>>>> wrote:
>>>>>>>>>> Howdy Matthias,
>>>>>>>>>> 
>>>>>>>>>> Yes, in an earlier post to this thread, I mentioned that 120
>>>>>>>>>> connections were being opened (the max). So, yes, the max connections
>>>>>>>>>> limit is being hit.
>>>>>>>>>> 
>>>>>>>>>> I observe this by tailing the TNS listener log
>>>>>>>>>> 
>>>>>>>>>> c:/app/<userId>/diag/tnslsnr/<userId>/listener/trace/listener.log
>>>>>>>>>> 
>>>>>>>>>> (Oracle-11g on Windows7)
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> The question is why?  Unless I have a connection leak.
>>>>>>>>>> 
>>>>>>>>>> -Chris
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Thu, Jan 31, 2013 at 2:21 PM, Matthias Lüneberg
>>>>>>>>>> <matthias.lueneb...@googlemail.com> wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>> 
>>>>>>>>>>> Is it possible that the oracle database has reached its max 
>>>>>>>>>>> connections/processes limit?
>>>>>>>>>>> 
>>>>>>>>>>> I found an article: 
>>>>>>>>>>> http://www.dadbm.com/2011/11/oracle-listener-refused-connection-ora-12519-troubleshooting/
>>>>>>>>>>> 
>>>>>>>>>>> Maybe its a database failure. Can you have a look at this?
>>>>>>>>>>> 
>>>>>>>>>>> HTH, Matthias
>>>>>>>>>>> 
>>>>>>>>>>> Am 31.01.2013 um 18:48 schrieb Chris Wolf <cwolf.a...@gmail.com>:
>>>>>>>>>>> 
>>>>>>>>>>>> James,
>>>>>>>>>>>> 
>>>>>>>>>>>> Here is what it looks like.  At first, I was using the "jpa://"
>>>>>>>>>>>> endpoint, but then I needed to implement a custom processor to 
>>>>>>>>>>>> handle
>>>>>>>>>>>> additional logic.  Thanks for having a look...
>>>>>>>>>>>> 
>>>>>>>>>>>> -Chris
>>>>>>>>>>>> 
>>>>>>>>>>>> from("file:/tmp/local/data?filter=#filter&preMove=/tmp/local/holding/${file:onlyname}.${id}&move=/tmp/local/archive&moveFailed=/tmp/local/errors&readLock=changed")
>>>>>>>>>>>> .unmarshal(cpmdfileFormat)
>>>>>>>>>>>> .processRef("dataStore")
>>>>>>>>>>>> //.to("jpa:?persistenceUnit=marketdata")
>>>>>>>>>>>> .beanRef("oneshotPoller", "resumeJpaConsumer"); // signal consumer
>>>>>>>>>>>> route to begin
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Bean for "dataStore":
>>>>>>>>>>>> 
>>>>>>>>>>>> public class CPMDPersister implements Processor {
>>>>>>>>>>>>   private static final transient Logger log =
>>>>>>>>>>>> LoggerFactory.getLogger(CPMDPersister.class);
>>>>>>>>>>>>   IGenericDAO<MdBaseData> mdBaseDataDAO;
>>>>>>>>>>>>   IGenericDAO<MdCurveData> mdCurveDataDAO;
>>>>>>>>>>>> 
>>>>>>>>>>>>   public CPMDPersister(){}
>>>>>>>>>>>> 
>>>>>>>>>>>> public CPMDPersister(IGenericDAO<MdBaseData> mdBaseDataDAO,
>>>>>>>>>>>> IGenericDAO<MdCurveData> mdCurveDataDAO) {
>>>>>>>>>>>>   this.mdBaseDataDAO = mdBaseDataDAO;
>>>>>>>>>>>>   this.mdCurveDataDAO = mdCurveDataDAO;
>>>>>>>>>>>> }
>>>>>>>>>>>> 
>>>>>>>>>>>>   @Override
>>>>>>>>>>>>   public void process(Exchange exchange) throws Exception {
>>>>>>>>>>>>           Message inMsg = exchange.getIn();
>>>>>>>>>>>> 
>>>>>>>>>>>>           @SuppressWarnings("unchecked")
>>>>>>>>>>>>           List<MdBaseData> mdBaseData =
>>>>>>>>>>>> (ArrayList<MdBaseData>)inMsg.getBody(ArrayList.class);
>>>>>>>>>>>> 
>>>>>>>>>>>>           IntervalElapsedTimer avg = new IntervalElapsedTimer();
>>>>>>>>>>>>           avg.start();
>>>>>>>>>>>>           mdBaseDataDAO.begin();
>>>>>>>>>>>> 
>>>>>>>>>>>>           for (MdBaseData md : mdBaseData) {
>>>>>>>>>>>>                   setParentReferences(md);
>>>>>>>>>>>>                   mdBaseDataDAO.save(md);
>>>>>>>>>>>>               avg.lap();
>>>>>>>>>>>>               log.debug("JPA Persist MD: {}, {}",
>>>>>>>>>>>>                   new Object[] {md.toString(), avg.toString()});
>>>>>>>>>>>>           }
>>>>>>>>>>>> 
>>>>>>>>>>>>           mdBaseDataDAO.commit();
>>>>>>>>>>>> 
>>>>>>>>>>>>           log.debug("JPA Persist: {}", avg.toString());
>>>>>>>>>>>>           int a = 0;
>>>>>>>>>>>>   }
>>>>>>>>>>>> 
>>>>>>>>>>>>   void setParentReferences(MdBaseData md) {
>>>>>>>>>>>>           for (MdCurveData cd : md.getMdCurveData()) {
>>>>>>>>>>>>                   if (cd.getMdBaseData() == null)
>>>>>>>>>>>>                           cd.setMdBaseData(new 
>>>>>>>>>>>> ArrayList<MdBaseData>());
>>>>>>>>>>>>                   if (!cd.getMdBaseData().contains(md))
>>>>>>>>>>>>                           cd.getMdBaseData().add(md);
>>>>>>>>>>>>           }
>>>>>>>>>>>>   }
>>>>>>>>>>>> }
>>>>>>>>>>>> 
>>>>>>>>>>>> The DAOs, are a thin wrapper around EntityManager, like:
>>>>>>>>>>>> 
>>>>>>>>>>>>   @SuppressWarnings("unchecked")
>>>>>>>>>>>>   public List<T> findAll() {
>>>>>>>>>>>>           return entityManager.createQuery("from " + 
>>>>>>>>>>>> entityType.getName())
>>>>>>>>>>>>                           .getResultList();
>>>>>>>>>>>>   }
>>>>>>>>>>>>   public void begin() {
>>>>>>>>>>>>           this.entityManager.getTransaction().begin();
>>>>>>>>>>>>   }
>>>>>>>>>>>> 
>>>>>>>>>>>>   public void commit() {
>>>>>>>>>>>>           this.entityManager.getTransaction().commit();
>>>>>>>>>>>>           this.entityManager.clear();
>>>>>>>>>>>>   }
>>>>>>>>>>>> 
>>>>>>>>>>>>   public void rollback() {
>>>>>>>>>>>>           this.entityManager.getTransaction().rollback();
>>>>>>>>>>>>   }
>>>>>>>>>>>> 
>>>>>>>>>>>> On Thu, Jan 31, 2013 at 12:34 PM, James Carman
>>>>>>>>>>>> <ja...@carmanconsulting.com> wrote:
>>>>>>>>>>>>> What does your route look like?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Thu, Jan 31, 2013 at 11:58 AM, Chris Wolf 
>>>>>>>>>>>>> <cwolf.a...@gmail.com> wrote:
>>>>>>>>>>>>>> I have further determined that it's an OpenJPA issue (or user 
>>>>>>>>>>>>>> error,
>>>>>>>>>>>>>> but how can that be?) ;)
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I will report back when I get to the bottom of it.  Thanks a lot,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Chris
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Sat, Jan 26, 2013 at 2:47 AM, Willem Jiang 
>>>>>>>>>>>>>> <willem.ji...@gmail.com> wrote:
>>>>>>>>>>>>>>> Can you share us your camel route? It is important for us to 
>>>>>>>>>>>>>>> find out the key reason of your issue.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 发自我的 iPhone
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 在 2013-1-26,上午5:22,Chris Wolf <cwolf.a...@gmail.com> 写道:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On Fri, Jan 25, 2013 at 3:55 PM, Chris Wolf 
>>>>>>>>>>>>>>>> <cwolf.a...@gmail.com> wrote:
>>>>>>>>>>>>>>>>> I ask because when I use jpa:  in producer mode, I get this 
>>>>>>>>>>>>>>>>> error:
>>>>>>>>>>>>>>>>> Caused by: oracle.net.ns.NetException: Listener refused the 
>>>>>>>>>>>>>>>>> connection
>>>>>>>>>>>>>>>>> with the following error:
>>>>>>>>>>>>>>>>> ORA-12519, TNS:no appropriate service handler found
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Strangely, using  jpa: in consumer mode, this does not 
>>>>>>>>>>>>>>>>> happen.  In the
>>>>>>>>>>>>>>>>> tnslsnr.log, I observe 120 connections being opened when
>>>>>>>>>>>>>>>>> running the route with jpa: in producer mode.  If I instead 
>>>>>>>>>>>>>>>>> use a
>>>>>>>>>>>>>>>>> custom Processor and do my own JPA persistence code,
>>>>>>>>>>>>>>>>> the issue does not occur.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Thanks for any advice,
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Chris
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I stepped through with the debugger and the problem went away. 
>>>>>>>>>>>>>>>>  The
>>>>>>>>>>>>>>>> point at which a lot of connections were opened was
>>>>>>>>>>>>>>>> after I stepped over:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>           return jpaTemplate.execute(new JpaCallback<Object>() 
>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>               public Object doInJpa(EntityManager 
>>>>>>>>>>>>>>>> entityManager)
>>>>>>>>>>>>>>>> throws PersistenceException {
>>>>>>>>>>>>>>>>                   return callback.doInJpa(entityManager);
>>>>>>>>>>>>>>>>               }
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> ..and when running in real time (not debugging) it seems to be 
>>>>>>>>>>>>>>>> running
>>>>>>>>>>>>>>>> in an AsyncProcessor - I wonder if it's too many worker
>>>>>>>>>>>>>>>> threads eating up the connections?  BTW, this is mt first 
>>>>>>>>>>>>>>>> project
>>>>>>>>>>>>>>>> using Camel, so forgive the lack of experience...
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] UnmarshallingContext          
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> EOF reached at line 2007
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] SendProcessor                 
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>>>>>> Endpoint[jpa://?persistenceUnit=marketdata] Exchange[null]
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] JpaTransactionManager         
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Creating new transaction with name [null]:
>>>>>>>>>>>>>>>> PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>>>>>>>>>>>>>>>> 8505  marketdata  INFO   [Camel (camel-1) thread #1 -
>>>>>>>>>>>>>>>> file:///tmp/local/data] openjpa.Runtime - Starting OpenJPA 
>>>>>>>>>>>>>>>> 2.2.1
>>>>>>>>>>>>>>>> 8535  marketdata  INFO   [Camel (camel-1) thread #1 -
>>>>>>>>>>>>>>>> file:///tmp/local/data] openjpa.jdbc.JDBC - Using dictionary 
>>>>>>>>>>>>>>>> class
>>>>>>>>>>>>>>>> "org.apache.openjpa.jdbc.sql.OracleDictionary".
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] JpaTransactionManager         
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Opened new EntityManager
>>>>>>>>>>>>>>>> [org.apache.openjpa.persistence.EntityManagerImpl@798b429b] 
>>>>>>>>>>>>>>>> for JPA
>>>>>>>>>>>>>>>> transaction
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] JpaTransactionManager         
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Initiating transaction commit
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] JpaTransactionManager         
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Committing JPA transaction on EntityManager
>>>>>>>>>>>>>>>> [org.apache.openjpa.persistence.EntityManagerImpl@798b429b]
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] JpaTransactionManager         
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Closing JPA EntityManager
>>>>>>>>>>>>>>>> [org.apache.openjpa.persistence.EntityManagerImpl@798b429b] 
>>>>>>>>>>>>>>>> after
>>>>>>>>>>>>>>>> transaction
>>>>>>>>>>>>>>>> [ad #1 - file:///tmp/local/data] EntityManagerFactoryUtils     
>>>>>>>>>>>>>>>>  DEBUG
>>>>>>>>>>>>>>>> Closing JPA EntityManager
>>>>>>>>>>> 
>>>>> 
>>> 
>> 

Reply via email to