2012-03-01 1 views
0

私はTomcatの7接続プールを使用しています。私の設定は以下の通りです:
server.xmlで :Tomcat:私はjndi接続をセットアップしたか、それとも何をしたのですか?

<GlobalNamingResources> 
    <!-- Editable user database that can also be used by 
     UserDatabaseRealm to authenticate users 
    --> 
    <Resource name="jdbc_DS" auth="Container" 
       type="javax.sql.DataSource" 
       factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
       driverClassName="org.h2.Driver" 
       url="jdbc:h2:file:absolutePathtodatabase" 
       username="root" password="" 
       maxActive="20" maxIdle="10" maxWait="-1" 
       /> 
    </GlobalNamingResources> 

とのcontext.xmlで:

<ResourceLink name="jdbc/myDS" 
     global="jdbc_DS" 
     type="javax.sql.DataSource"/>  

動作しているようですが、私は次のように気づいた:リソースhere:global resourcesの属性で
それResourceの属性としてfactoryは言及していません。それにもかかわらず、私はserver.xmlに定義してエラーが発生していません。
これは何を意味していますか?org.apache.tomcat.jdbc.pool.DataSourceFactory工場はここにはありませんか?

答えて

0

Tomcat 7 documentationは、あなたが設定していること、を教えてくれるが、データソースファクトリを使用するための正しいです:

Tomcatの接続プールは、唯一の違いは、あなたがしなければならないことをされた状態でThe Tomcat JDBC documentationで説明したリソースとして設定されています工場出荷時の属性を指定し、org.apache.tomcat.jdbc.pool.DataSourceFactory

に値を設定しdocumentationはさらに言及:

You MUSTは、Resource要素の属性を使用して、使用するオブジェクトファクトリ(すでにTomcatに知られていない場合)を設定するためのその他の必要なパラメータと、そのオブジェクトファクトリの設定に使用するプロパティも定義します。

有効な要素のリストが完全ではないという別のヒントです。 <Resource>context.xmlを持っているかもしれ属性はどんな

+0

あなたが与えたリンクでは、 'context.xml'で定義された' Resource'への参照があります。しかし、 'server.xml'に' GlobalNamingResources'を使っています。私は 'server.xml '?私は、' server.xml'を使ったグーグルの例をたくさん見てきました – Jim

+0

グローバルとローカルの "'宣言との違いはありません。グローバルなものを ' 'で使用し、まったく同じ属性を期待します。それ以外の場合、 "完全な"リソースをグローバルに宣言することはできませんでした。 –

+0

私の関心事は次のとおりです。 'context.xml'のネストされたコンポーネントとしての' resource'はdoc.Butの 'factory'属性を持つように定義されています。' resource'は 'server.xml'のネストされたコンポーネントです。 ( 'globalresources'にネストされています)は1つもないようです。この要素は両方のXMLファイル(' server.xml'と 'context.xml')で同じですか? – Jim

1

しかし、あなたは、あなたが使用している<ResourceLink>context.xml<Resource>を使用していない、そうは無関係です。 <ResourceLink>は、<Resource>を参照するのに十分な属性を持っています。factory属性を含む他の場所では完全に定義されています。

+0

私は 'server.xml'の' '属性を参照しています。これは' factory'属性を持っていないようです。 – Jim

+0

@Jim 'context.xml'の同じものはfactory属性を持っています。私はそれを試してみるだろう。 – EJP

関連する問題