首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MDB失败的JBoss EAP XA数据源

MDB失败的JBoss EAP XA数据源
EN

Server Fault用户
提问于 2017-10-02 18:49:20
回答 1查看 1.1K关注 0票数 0

我有一个MDB正在运行,它将数据发送到oracle数据库。XA数据源配置为:

代码语言:javascript
复制
<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>

在空闲运行一段时间(不确定确切的时间段,可能是几个小时)之后,下一个MDB onMessage抛出此异常:

代码语言:javascript
复制
    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 

我假设这与连接池验证有关。不确定解决方案是否只是设置为true,或者是否还有其他配置要完成。

EN

回答 1

Server Fault用户

发布于 2017-10-03 07:59:34

使用显式Oracle池标志尝试它:

代码语言:javascript
复制
<xa-pool>
   <is-same-rm-override>false</is-same-rm-override>
   <no-tx-separate-pools />
   ...other settings
</xa-pool>

过去有过与Oracle有关的问题配置,不确定是否所有的事情都解决了。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/876495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档