Wednesday 22 June 2016

Oracle SOA DB Poller Error Caused by BINDING.JCA-11608

Hi All,

Just wanted to highlight a common mistake most developer and most testing teams do. When a need arises to change any setting including connection factory or connection pool setting in Oracle Weblogic Server

The Mistake:
  1. Make changes to the weblogic server data source / Connection factory.
  2. Which leads to a DB adaptor redeploy.
  3. Once the DB adaptor is redeployed all the pollers using that DB adaptor incidences will fail with the following error:
Query name: [xxxxxxxxxxxxxx], Descriptor name: [xxxxxxxxxxxxx.xxxxxxx]. Polling the database for events failed on this iteration.
Caused by BINDING.JCA-11608
Connection Already Closed Exception.
This [javax.resource.cci.Connection] is already closed.
This should not happen when running within a packaged application like BPEL or ESB but may occur when the adapter is used standalone.
..
.
  This exception is considered not retriable, likely due to a modelling mistake.  This polling process will shut down, unless the fault is related to processing a particular row, in which case polling will continue but the row will be rejected (faulted).

       at oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:690)
       at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:656)
       at oracle.tip.adapter.db.exceptions.DBResourceException.inboundReadException(DBResourceException.java:491)
       at oracle.tip.adapter.db.InboundWork.handleException(InboundWork.java:1001)
       at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:896)
       at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:627)
       at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
       at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:184)
       at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
       at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: BINDING.JCA-11608
Connection Already Closed Exception.
This [javax.resource.cci.Connection] is already closed.


Note: When the above error occurs, the Poller state is still active, which deadly in a production environment. 

The Corrective Measure:
  1. Retire all DB Pollers which have encountered this error.
  2. Activate all DB  Pollers.
  3. The issue will be fixed.

The Best Practice:
  1. Retire all DB Pollers. (No Polling will happen during this time).
  2. Make changes to the weblogic server data source / Connection factory.
  3. Which leads to a DB adaptor redeploy / Restart.
  4. Once the DB adaptor is redeployed / Restarted.
  5. Activate all DB Pollers.



6 comments:

  1. Peter - Thank-you for an interesting and fun post. I happened to notice your "Ian Glazer: Why Compliance Cannot be Delivered as a Service" link is going to the wrong url. Again, your article is much appreciated. العاب طبخ

    ReplyDelete
  2. t’s great blog to come across a every once in a while that isn’t the same out of date rehashed material. Fantastic read.SAP Training in Bangalore

    ReplyDelete
  3. Rash from Grover's Disease can be extraordinarily irritated. Natural Treatment decrease itching ordinarily start with high-power steroid creams, for example, triamcinolone or clobetasol, beside with antihistamines. Natural Remedies for Grover's Disease provides the relief from skin disorders. It helps to reducing rashes from skin that occur from Grover’s Disease.

    ReplyDelete
  4. Herbs Solutions by Nature offer Herbal Supplement for Health and Skin Diseases. Natural Herbal Treatment really does help you recover from your health condition.

    ReplyDelete