- PR -

DBCPを製品に頼らずに利用するには?

1
投稿者投稿内容
puri
常連さん
会議室デビュー日: 2003/09/08
投稿数: 28
お住まい・勤務地: 東京都
投稿日時: 2003-09-10 17:13

コネクションプーリング機能を、Webアプリケーションサーバ(Websphereなど)や、
オープンソース(Apacheなど)に頼らずに、
自前で利用できる方法をご存知ではないでしょうか?!

また、ご存知でしたら、稼動確認できた実際のソースサンプルなど
教えて頂けないでしょうか?

よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-09-10 17:49
ちょっと仰る意味がわかりません。
市販の製品でなく、オープンソースでもないとしたらプロプライエタリなコードになるかと思います。それをサンプルとして開示するのは難しいのではないでしょうか?

また、「自前で利用できる方法」とは具体的にどのような意味でしょうか?コーディング方法でしたら、オープンソースのコネクションプール機構のソースを参考にすればよろしいかと存じます。

ちょっと見当違いなレスポンスでしたらフォローをお願いいたします。

ちなみに、コネクションプーリングなどのリソースを管理する機構は安易にコーディングするとデッドロックや同期のコストから発生する重大なパフォーマンスボトルネックの原因となります。挑戦するのは悪いことではありませんが、気を付けてください。
puri
常連さん
会議室デビュー日: 2003/09/08
投稿数: 28
お住まい・勤務地: 東京都
投稿日時: 2003-09-10 18:27
引用:

インギさんの書き込み (2003-09-10 17:49) より:
ちょっと仰る意味がわかりません。
市販の製品でなく、オープンソースでもないとしたらプロプライエタリなコードになるかと思います。それをサンプルとして開示するのは難しいのではないでしょうか?

また、「自前で利用できる方法」とは具体的にどのような意味でしょうか?コーディング方法でしたら、オープンソースのコネクションプール機構のソースを参考にすればよろしいかと存じます。

ちょっと見当違いなレスポンスでしたらフォローをお願いいたします。

ちなみに、コネクションプーリングなどのリソースを管理する機構は安易にコーディングするとデッドロックや同期のコストから発生する重大なパフォーマンスボトルネックの原因となります。挑戦するのは悪いことではありませんが、気を付けてください。



インギさん、不可解な質問に回答頂き有難うございます。
まだまだ、javaの超初心者なのですが、
JDBCの設計を担当することになってしまいまして・・・。

AS/400というOS配下でJDBCを使ってコネクション管理を行いたいのです。
が、サーブレットなどは一切使わないため、標準API(J2SDK1.4)のみが
入っている環境でコネクション管理を行うように指示されました。

となると、コネクションプーリング機能は諦めてDBへのコネクションを
毎回行う方法しかないってことですかね?!
どうしてもコネクションプーリング機能を使うとなると危険を伴うみたいですね。

因みに、オープンソースのJakartaを利用する場合、CommonsのCollectionsと、Pool、DBCPが必要らしく、ダウンロードしてみたのですが、解凍時にOSの云々を聞かれないということは、
どのようなOS配下でも動くってことですよね?!
安易な発想かもしれませんが、
標準APIにライブラリを付け足すくらいなら指示に違反しないような気もするのですが
どう思われます?

分かりにくい質問ですが、よろしければどなたかご意見下さい。

とんび
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-10 20:56
引用:

puriさんの書き込み (2003-09-10 18:27) より:
AS/400というOS配下でJDBCを使ってコネクション管理を行いたいのです。
が、サーブレットなどは一切使わないため、標準API(J2SDK1.4)のみが
入っている環境でコネクション管理を行うように指示されました。


JDBC3.0からコネクションプーリングの機能が追加されたそうなので
ドライバが対応していれば、それを使うのが一番早そうな気がするんですが。
(自分で使ってないのでよく知らないのですが)

引用:

因みに、オープンソースのJakartaを利用する場合、CommonsのCollectionsと、Pool、DBCPが必要らしく、ダウンロードしてみたのですが、解凍時にOSの云々を聞かれないということは、
どのようなOS配下でも動くってことですよね?!
安易な発想かもしれませんが、
標準APIにライブラリを付け足すくらいなら指示に違反しないような気もするのですが
どう思われます?


 指示に違反しないかどうかはわかりませんが、普通どのようなOSでも動くんじゃないでしょうか。
実際にAS/400で動かしてみたらどうですか。

puri
常連さん
会議室デビュー日: 2003/09/08
投稿数: 28
お住まい・勤務地: 東京都
投稿日時: 2003-09-10 21:55
引用:

とんびさんの書き込み (2003-09-10 20:56) より:



JDBC3.0からコネクションプーリングの機能が追加されたそうなので
ドライバが対応していれば、それを使うのが一番早そうな気がするんですが。
(自分で使ってないのでよく知らないのですが)
引用:


JDBC3.0?
初めて知りました。
なんだかJDBCドライバについて、間違った認識をもっていたようです。

その後、JDBC3.0について調べたのですが
http://www.mamezou.com/tec/Tips/jdk14Changes/jdk14Changes.html
「JDK1.4の主な目的は、信頼性・サービス提供の容易性・スケーラビリティ・性能・配布であるといわれており、XML関連やJDBC3.0のAPI追加、グラフィックス関連の性能の向上、また、セキュリティの強化、Java Virtual Machines の64ビットUNIXやネットワークのIPv6のサポート、CORBA連携機能の強化などがおこなわれています。」
という記述から、JDK1.4をインストールした時点でJDBC3.0もインストールされていると考えてよさそうですね。

勿論、もっと詳しく調べてみますけど・・・。



 指示に違反しないかどうかはわかりませんが、普通どのようなOSでも動くんじゃないでしょうか。
実際にAS/400で動かしてみたらどうですか。
[/quote]

開発に入るまで、AS/400をインストールした端末は使えないのですが、
とりあえずWindowsの標準APIのみの環境で動かしてみます。
とんびさんの意見、たいへん参考になりました。有難うございました。

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-09-11 10:30
(私が知っている限りは)AS/400のDB2でJDBC3.0に準拠したドライバはありません。

ご指摘の Jakarta の DBCP についてはとくにプラットフォーム依存の実装はしてなさそうですので問題なく AS/400 でご利用いただけると思います。

もう一つ有名な、というか私が知っているオープンソースのコネクションプール実装としてPoolManというのがあります。
http://sourceforge.net/projects/poolman/
puri
常連さん
会議室デビュー日: 2003/09/08
投稿数: 28
お住まい・勤務地: 東京都
投稿日時: 2003-09-11 12:12
引用:

インギさんの書き込み (2003-09-11 10:30) より:
(私が知っている限りは)AS/400のDB2でJDBC3.0に準拠したドライバはありません。

ご指摘の Jakarta の DBCP についてはとくにプラットフォーム依存の実装はしてなさそうですので問題なく AS/400 でご利用いただけると思います。

もう一つ有名な、というか私が知っているオープンソースのコネクションプール実装としてPoolManというのがあります。
http://sourceforge.net/projects/poolman/



インギさん、ご意見有難うございます。
JakartaのDBCPについての見解を読んで、希望の光が見えてきました。
一応、この線でうまく説明できることを願って頑張ってみます。

PoolManについては、英語力に自信がないので、
余裕があればって感じです。
でも、参考までにお気に入りにとっておきます、どうもです。
1

スキルアップ/キャリアアップ(JOB@IT)