Serviceを読んで理解し、同意したものとみなします。文字コードの設定があるとは気づかず、とてつもない時間を解決に要してしまいました。ちなみにですが、私の実行できた設定は以下になります。個の銅バッジ5JDBCの1つのコネクションに同時にリクエストを送信したらそもそもスレッドセーフでは無いのでは...と思い込んでいたのですが、どうも仕様ではスレッドセーフであることを要求しているようですね。ドライバが読み込まれないJDBCドライバー(com.mysql.jdbc.Driver)がクラスパス内にないために例外が発生しています。classpathに通してください。配置すればAPサーバーがクラスパスに通して起動してくれるかもしれません。for~でデータベースに接続出来ないmattn様ご指摘の通り、Class.forName()を追加すれば問題なく読み込めるかと存じます。念のためmysql-connector-java-5.0.4.jarで検証はしました。なるJavaでサロゲートペアをサポートしようとするとそれぞれのキャラクタをコードポイントに変換する必要があります。なるのはJava側の問題のような気がします。なるそうですのでJDBCドライバのバージョンを変えてみるのはどうでしょう。個の銅バッジ1jar内の一部のファイルが依存パッケージによって上書きされてしまうのを防ぎたい一方が他方で上書きされている、というわけではなく、双方登録されている状態だと思います。JDBCの仕様的には、次の2手段のいずれかになると思います。システムプロパティjdbc.driversに使用する方のドライバだけ設定する。DriverManager#getDrivers()で取得したドライバ群から、使いたくないものをderegisterDriverで登録解除する。EEにおける説明になっていますが、事情はStruts1でも同様でしょう)。「解放」という単語の意図するところが不明確ですが、削除するという意味であれば(少なくとも)ユーザプログラムでプールを削除することはありません。そもそもユーザプログラムでは接続プールを意識することは無い、すなわち取得/解放(がどんな意味であろうとも)を明示的には行いません。これはその通りですが、コネクションの取得はDataSource#getConnection()するたびに行われます。そのため、プール自体が無意味なものではありません。DataSource(データの元ネタ)とConnection(論理的実体としてのDBとの接続)は別のオブジェクトです。通常、分散トランザクション環境では、DataSourceはデータコネクションのプールを「接続の元ネタ」として返してきます。個の銅バッジ1PreparedStatementのSelectが遅い場合お使いのDBはなんでしょうか。(Index(index_name))という構文がつかえたりします。ORACLEはインデックスのヒントをコメント形式で引き渡したりしますが、だいぶ前に試したところではJDBCは引き渡せなかったです。Platformから抜粋して回答いたします。appengine-web.xmlに以下のように<use-google-connector-j>true</use-google-connector-j>の記述がされているか確認してください。MBeanMySQLを利用されているのに、OracleDBのJDBCドライバを使っているようですが、MySQL接続にはmysqlのJDBCドライバ"のみ"を指定してください。