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