0

I have an MDB running that is posting data to an oracle db. XA data source configured as:

<xa-datasource jndi-name="java:/jdbc/HIF-BannerPU" pool-name="HIF-BannerPU" enabled="true" spy="true" use-ccm="true" statistics-enabled="false">
                    <xa-datasource-property name="URL">
                        ${hif-db-url}
                    </xa-datasource-property>
                    <driver>OracleJDBCDriver</driver>
                    <security>
                        <user-name>uifsmgr</user-name>
                        <password>u_pick_it</password>
                    </security>
                    <validation>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                      <use-fast-fail>false</use-fast-fail>                      
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>false</set-tx-query-timeout>
                        <blocking-timeout-millis>0</blocking-timeout-millis>
                        <idle-timeout-minutes>0</idle-timeout-minutes>
                        <query-timeout>0</query-timeout>
                        <use-try-lock>0</use-try-lock>
                        <allocation-retry>0</allocation-retry>
                        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                    </timeout>
                    <statement>
                        <share-prepared-statements>true</share-prepared-statements>
                    </statement>
                </xa-datasource>

After running idle for a while ( not sure the exact timespan, probably hours), next MDB onMessage throws this exception:

    Caused by: java.sql.SQLException: javax.resource.ResourceException: 
IJ000457: Unchecked throwable in managedConnectionReconnected() 
cl=org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@178ff38
2[state=DESTROYED managed 
connection=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@70289860 
connection handles=0 lastReturned=1506796773697 lastValidated=1506796773525 
lastCheckedOut=1506947349429 trackByTx=false 
pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@5968abc8 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@83405c5[pool=HIF-BannerPU] xaResource=XAResourceWrapperImpl@2168086b[xaResource=org.jboss.jca.adapters.j
dbc.xa.XAManagedConnection@70289860 pad=false overrideRmValue=null 
productName=Oracle productVersion=Oracle Database 12c Enterprise Edition 

I am assuming this has to do with connection pooling validation. Not sure if the solution is just to set to true, or if there is other configuration to be done.

0

Try it with explicit Oracle pooling flags:

<xa-pool>
   <is-same-rm-override>false</is-same-rm-override>
   <no-tx-separate-pools />
   ...other settings
</xa-pool>

There were issues with Oracle XA configuration in the past, not sure if everything is resolved atm.

| improve this answer | |
  • Tried that and did not work. – OldProgrammer Oct 5 '17 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.