The problem you're facing is that they use a limited set of "channels" for 
their logging:

http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/ref_guide_logging.html#ref_guide_logging_channels

So, you're kind of stuck with those knobs to turn.  It is rather verbose, I'll 
agree.  Unfortunately, for a lot of the channels, you have to jack them all the 
way up to TRACE to get them to give you anything.

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

> Just to clarify, for me, these logging settings work:
> 
> <property name="openjpa.Log" value="openjpa.jdbc.JDBC=TRACE"/>
> 
> 
> -= or, for SQL =-
> 
> <property name="openjpa.Log" value="SQL=TRACE"/>
> <property name="openjpa.ConnectionFactoryProperties"
>              value="PrettyPrint=true, PrettyPrintLineLength=72"/>
> <property name="openjpa.ConnectionFactoryProperties"
>              value="printParameters=true"/>
> 
> But the first one (JDBC logging) is too verbose - it's either all or
> nothing, which is why I wanted to setup the slf4j or log4j backend to
> be able to have more fine-grained settings.  If you've been able to
> figure that out, that would be great.  I've already posted on the
> openjpa users list about that, but nothing from there yet...
> 
> 
> 
> On Fri, 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