Open Terracottaは、複数のJVMをまたいでJavaオブジェクトをキャッシュすることができるクラスタリングソリューションだ。以前は商用製品であったものが、2006年末にオープンソース化された。ライセンスは、Mozilla Public LicenseをベースとしたTerracotta Public Licenseであり、商用プロダクトにも問題なく利用できる。 なぜTerracottaが必要か アプリケーションにとって「パフォーマンス」は重要だ。特にデータベースを使用するアプリケーションはデータベースへのネットワークアクセス、検索クエリの実行性能などに足を引っ張られてパフォーマンスが思うように出ないことも多い。 そこで考え付くのが検索結果をキャッシュして再利用することであるが、これには別の問題がある。一つは、キャッシュを利用すると将来的な拡張性を損ねる可能性があることである。例え
Problems with PreparedStatement syntaxThe problems with PreparedStatement stem from its syntax for parameters. Parameters are anonymous and accessed by index as in the following: PreparedStatement p = con.prepareStatement("select * from people where (first_name = ? or last_name = ?) and address = ?"); p.setString(1, name); p.setString(2, name); p.setString(3, address); For small queries with one o
今月でとうとうこの連載も1周年を迎えることができました。筆者にとってはじめての連載ということで,連載前は本当に書けるのだろうかとかなり心配したのですが,とりあえず1年間無事に続けることができました。 これもひとえに読者のみなさまのおかげです。これからも最新のJavaの情報をお届けできるようにしていきたいと思います。 というわけで,本題に入りましょう。 今週も,Java SE 6のソフトウエア管理に関する新機能です。 属性を監視するモニター この連載でJMXを解説したときに,いくつか取りあげなかった機能があります。そのうちの一つがモニターです。 モニターは特殊なMBeanで,他のMBean/MXBeanの属性を定期的に調べることができます。それぞれにルールを設定でき,そのルールに応じてイベント(JMXの場合,ノティフィケーションといいます)を発生させることができます。 標準では3種類のモニタ
scripting.dev.java.net Java SE 6 will contain JSR 223: Scripting for the JavaTM Platform API classes. This Framework can be used to host Script Engines in Java Applications. Sun's implementation of Java SE 6 includes a Script Engine based on Rhino: JavaScript for Java version 1.6R2 The Scripting Framework also supports third-party Script Engines that implement the JSR 223 Scripting APIs . The pr
【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu
作成日:2004.05.18 更新日:2005.06.21 今後、随時書き足して行きます。多分。 はじめに Java は動的にクラスのロードとアンロードが行われる仕組みになっている。 クラスはクラスファイルの形でディスク上やネットワークに配置され、プログラム中でそれらが本当に必要になった段階で JavaVM 上に読み込まれる。 またクラスはその使用が終わった段階でガーベージコレクターによって動的に回収され JavaVM からアンロードされる。 Servlet / J2EE サーバーなどはこの性質を利用して運用中にプログラムの一部を入れ替えるホットスワップ (Hot Swap) を実現している。 だがこの仕組みを実装するには少し工夫がいる。 この文書ではクラスのアンロードを実現するやり方について述べる。 1. クラスのロードとアンロードの基本的な仕組み クラスローダー Java VM がクラ
フリー・オープンソースのRDBMSとして真っ先に挙がるのがMySQLとPostgreSQL。この2つのデータベースはサーバとして動作させるタイプで、エンタープライズにおける業務にも耐え得るように高機能化・高性能化し、大規模システムへの対応を続けている。 一方、組み込みを対象としたデータベースとなるとApache Derby、H2、HSQLDB、Berkeley DBあたりが有名。Apache Derby(以降、Derby)はJava EEアプリケーションサーバに、HSQLDBはWebアプリケーションに同梱されることが多い。H2は新進気鋭の存在としてキラリと光るものがある。何と言っても成果物に同梱してそのまま使えるというのが組み込みデータベースの最大の利点だ。 どれも興味深いが、ここでは先週に新版がオフィシャルリリースされたDerbyを紹介したい。まだ組み込みデータベースを使ったことがないデ
株式会社野村総合研究所(以下NRI)は、オープンソースに関連したマニュアル・利用ガイドなどの一般技術資料を本サイトにて公開しています。NRIでは、社内のノウハウを積極的に公開することにより、オープンソースの健全な発展に貢献したいと考えております。 NRIではこれまでに社内R&Dで評価したオープンソースを自社製品である「ObjectWorks+」の開発環境に取り込む活動を行ってきました。現在、ObjectWorks+では国内における普及を鑑み、オープンソースの開発環境であるEclipseを標準開発環境として取り込んでPluginの開発や日本語の利用ガイドを作成しています。さらに、標準的な開発環境としてEclipseが日本国内で広く普及することを願って、これらの社内向けドキュメントを社外にも公開しています。 現在、公開しているドキュメントはEclipseを使ってWebアプリケーションを開
また、今回作成するプラグインはGoogle Web APIsを使用します。『Google SOAP Search API (beta)』にアクセスし、Google Web APIs Developer's Kitのダウンロードと、検索時に必要になるキーコードを取得しておいてください。このGoogle Web APIs Developer's KitにはGoogle Web APIsのライブラリとwsdlファイルが格納されています。作成するプラグインの概要 今回作成するGoogleプラグインの概要はおおむね下の通りです。Eclipseでコーディング中にエディタ上のテキストを選択して、エディタのポップアップメニューからGoogle Web APIsを呼び出し、Google検索をすることができます。検索結果一覧から、ダブルクリックやポップアップメニューでOSのWebブラウザを起動し、選択したサイ
事業内容 CAD事業 建設業向けソフトウェア販売 SS事業 石油販売業向け情報サービス 関連事業 名古屋ブルーノート ライブハウス・レストラン 貸室 名古屋・栄の貸会議室 U.S SOHO伏見 名古屋・伏見の貸事務所
ふう、久々の新ページである。いろいろと仕事しだしていて、ホントはいろいろと新しい知識とか仕入れているんだが、このホームページで公開するとなると、やっぱり筆者はウルサイのだ... まあ、そういうわけで新ネタは James ということにした。何で James か、というとこれにはいくつか理由もあるわけだ。 それなりに有能なフレームワークだ。 けどマニュアルがいい加減過ぎるぞ。 MTAなんで、他のMTA(sendmail,postfix,qmail)との協調動作はどうすれば?? こいつのベースになっている Avalon(Phoenix) が謎だ... というわけで、筆者の他のページと同様に、深く追求していく。それこそ「いい加減なサーバを Phoenix で書いてみる」なんてことまでやってみるので、ハッカーは期待するように。 James 編基礎 単純に起動してみる 他のMTAと協調するには? Fe
Webアプリケーションのセキュリティホールが注目を浴びたことから、セキュリティを意識した開発の必要性が高まってきている。今後の流れとして、セキュリティ上満たすべき項目が要件定義の段階から組み込まれるケースが増えていくことが予想されるが、実際の開発現場においてはセキュリティホールをふさぐための実装方法が分からないという声も多いのではないだろうか。 そういった開発者の負担を少しでも軽くすることができるように、本連載ではJavaにおけるWebアプリケーション開発時に最もよく利用されているStrutsフレームワークの実装に踏み込んで、セキュリティ上注意すべきポイントを解説していきたい。なお、本連載ではStruts 1.2.8を対象として解説を行っていくが、すでにStrutsを利用したWebアプリケーション開発を行っている開発者をターゲットとしているため、Strutsの使用方法、各機能の詳細な説明な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く