添加pool元素时收到以下错误消息:
引起:org.jboss.as.connector.util.ParserException:IJ010061: 意外的元素:池
如果我删除池元素,它的工作原理。我已经检查了docs文件夹中的XSD,我很确定这是对的吗?为什么会失败?
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
<resource-adapters>
<resource-adapter>
<archive>
jackrabbit-jca-2.6.2.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="org.apache.jackrabbit.jca.JCAManagedConnectionFactory" jndi-name="java:/jca/JcrRepository" enabled="true" use-java-context="true" pool-name="jackrabbit-jca-2_6_2_rar-Pool" use-ccm="true">
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>4</max-pool-size>
</pool>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
</subsystem>
答案 0 :(得分:3)
这不是一个错误,它是一个功能;)
...
让我们深入了解负责任的实施:
当您查看负责解析器的来源时,您可以看到以下内容
case TRANSACTION_SUPPORT: {
if (txSupportMatched) {
throw new ParserException(bundle.unexpectedElement(TRANSACTIONSUPPORT.getXmlName()));
}
String value = rawElementText(reader);
TRANSACTIONSUPPORT.parseAndSetParameter(value, operation, reader);
isXa = value != null && TransactionSupportEnum.valueOf(value) == TransactionSupportEnum.XATransaction;
txSupportMatched = true;
break;
}
这是资源适配器标记的解析。如果您编写XATransaction-keyword,则(默认为false)isXa-var切换为true。
现在,connection-definition-tag的解析器需要一个xa-pool-tag
case XA_POOL: {
if (! isXa) throw new ParserException(bundle.unexpectedElement(CommonConnDef.Tag.XA_POOL.name()));
if (poolDefined)
throw new ParserException(bundle.multiplePools());
parseXaPool(reader, connectionDefinitionNode);
poolDefined = true;
break;
}
case POOL: {
if (isXa) throw new ParserException(bundle.unexpectedElement(CommonConnDef.Tag.POOL.name()));
if (poolDefined)
throw new ParserException(bundle.multiplePools());
parsePool(reader, connectionDefinitionNode);
poolDefined = true;
break;
}
根据XATransaction定义,ironjacamar-impl创建不同的池实现。并且模式的xa-poolType允许比标准池类型更多的配置。
但我认为应该在某处记录,至少在schema.xsd
中答案 1 :(得分:0)
好问题,你完全正确。根据架构这是有效的,我想这是JBoss 7.11的一个错误。你可以在此提交一个bug。我想你可以继续使用以前的JBoss版本,但这个问题不会出现。