このWeb サイトを通じて、Tomcat の接続プールをセットアップする方法について学習しています。そこで、context.xml ファイルを作成し、META-INF ディレクトリに配置しました。これは私が今持っているものです。
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/gmustudent" auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
username="root" password="root"
url="jdbc:mysql://localhost:3306/official"
maxActive="100" maxIdle="10" minIdle="5" initialSize="5" maxWait="10000" />
</Context>
ただし、ファクトリのクラス名を指定したいと思います。しかし、この属性を追加するたびに
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
コンソールに大量のエラーが表示されます。順不同でいくつか紹介します。
WARNING: Failed to register in JMX: javax.naming.NamingException: com.mysql.jdbc.Driver
WARNING: Unexpected exception resolving reference java.sql.SQLException: com.mysql.jdbc.Driver
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:gmustudent' did not find a matching property.
したがって、工場を指定しないと、サイトは問題なく機能します。しかし、私が行うとエラーがスローされ、何も機能しません。スタックオーバーフローについて調査したところ、この投稿が見つかりました。このため、Tomcat のバージョンを 7.0.11 から最新のものに変更しましたが、まだエラーが発生しています。そのため、server.xml ファイルのファクトリとの何らかの衝突である可能性があると考えましたが、その呼び出しを行う経験はほとんどありません。しかし、ここに私のserver.xmlファイルのリソースがあります
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
これは私の context.xml ファイルのファクトリと衝突していますか? それとも私はここで完全に間違っていますか?一言で言えば、context.xml ファイルで大きなエラーを発生させずにファクトリを指定する方法を見つけたいと思います。読んでくれてありがとう。