2013-07-28 4 views
5

で起動しません。 ParserException:IJ010061: 予期しない要素:プールのJBoss 7.1.1は、私は、プール要素を追加するとき、私は、次のエラーメッセージが表示されますので、予期しない要素「プール」

プール要素を削除した場合、それは機能します。私は、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

XMLで、どこかに文書化されるべきだと思うが間違いなく[このスキーマ](http://www.jboss.org/schema/jbossas/jboss-に対して有効ですas-resource-adapters_1_0.xsd)。バージョン/依存関係の問題がないことを再度確認してください。 – DannyMo

+0

代わりにxa-pool要素を使用すると機能します。スキーマの後にいくつかの検証があるようですね? – LuckyLuke

答えて

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; 
        } 

これはresource-adapter-tagの解析です。 XATransactionキーワードを書くと、isXa-varが(デフォルトではfalseで)trueに切り替わります。

今XATransactionの精細ironjacamar-IMPLに応じて、接続定義タグは、XA-プールタグを期待

  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; 
        } 

のパーサが異なるプールの実装を作成します。また、スキーマのxa-poolTypeは、標準プールタイプより多くの設定を可能にします。

しかし、私はそれが、少なくともschema.xsd

+0

ありがとうございますJan =) – LuckyLuke

0

良い質問とあなたはまったく正しいです。これはスキーマに基づいて有効ですが、これはJBoss 7.11のバグだと思います。これについてバグを報告することができます。 JBossの以前のバージョンを使用し続けることができると思います。この問題はそこにはありません。

あなたは責任の元に見て:;

+0

代わりにxa-pool要素を使用すると動作します。スキーマの後にいくつかの検証があるようですね? – LuckyLuke

+0

XAデータソースを使用する場合はxs-poolを使用します。私が聞いたことに応じて、クラスタリングの目的でXAデータソースが必要です。とにかくそれがあなたのために働いている場合は、それを先に進んでください。しかし、私の提案は、以前のバージョンのJBossを使用し、継続することは複雑ではなく、より良い方法です。 –

関連する問題