前回の記事ではSpring IDE 2.0のインストールを行いました。 今回はSpring 2.0の新機能を紹介します。特に、XMLSchema(XSD)に対応した構成ファイルの記述方法を詳しく紹介していきます。

前回の記事ではSpring IDE 2.0のインストールを行いました。 今回はSpring 2.0の新機能を紹介します。特に、XMLSchema(XSD)に対応した構成ファイルの記述方法を詳しく紹介していきます。
SpringFramework 2.0.4で、ちょうどベンチマークに関係する部分のパフォーマンスチューニングを行ったとの事なので(詳しくは次のエントリ参照)、再度ベンチマークを行いました。Seasar2も最新版に入れ替えた上で、セットアップ処理コードを一部変更しています。 計測内容 バージョンは、Spring 2.0.4 / Guice 1.0 / Seasar2 2.4.12 インスタンス取得はAOP有りとAOP無しの両方を計測(前回は有りのみでしたが、今回は無しも計測しました) 全てプロトタイプ(毎回新しいインスタンスを取得) 取得したインスタンスの実行時間は、AOP有りのみ計測(AOP無しは変わらないはずなので) 留意して欲しい事項は前回の前置きにあります ベンチマーク結果 - get instance (NO AOP)- Spring: 24,336 creations/s Gui
arclamp.jp アークランプ ITアーキテクトが、ビジネス書とかデザインとか建築とかからシステム開発を妄想するブログ 4/13おこなわれたJSUG(日本Springユーザー会)勉強会での発表内容を公開しました。「SpringでDAO」ということで、僕の周りでDAOを使った開発をするときに使っているテクニックや気にしていることを詰め込みました。 Google GroupのFileページにおいてあります。 発表資料:20070413-勉強会vol2-SpringでDAO_.ppt ソースコード:20070413-勉強会vol2-SpringでDAO_src.zip 発表ですが、時間が短かったこともあり特急モードで消化したため皆さんの理解もいまいちではないかと危惧しております。ぜひ資料とコードを眺めていただければと思います。 見所はspring-s2daoでしょうか(デモ失敗したけどw)
ここから先が数字です。 補足や雑感をダラダラ書いたりもしています。 Requests per secondの数字は大きい方が、スループットが高く、より速いという事になります。 又、No.は、補足説明をする際に使用する項番です。 尚、スクリプトを見れば分るとおり、5回に渡って負荷をかけています。 それぞれの結果の中から、最も端的に結果を確認できる「Requests per second」を一覧化してみました。 No. (1) Struts + S2.4 + Kuina-Dao + JPA(Hibernate) 1075.44 [#/sec] 1107.79 [#/sec] 1105.82 [#/sec] 1108.95 [#/sec] 1188.89 [#/sec] (2) Struts + Spring2 + JPA(Hibernate) 974.94 [#/sec] 980.48 [#/
どの様な負荷をかける事によって得られた結果なのかについて、それなりに書いておきます。 負荷テストは、負荷のかけ方によって、180度違った結果が出る事があります。 今回は、Seasar2とSpring2の比較をしていますが、 僕がSeasar2寄りなモノの考え方をしているのは事実であり、その一点のみにおいて、Spring側は不利です。 例えば、Seasar2では、HotDeployと言う、パフォーマンスを犠牲にして開発効率を優先する機能がありますが、 当然の事ながら、この負荷テストを行うにあたって、当該機能はOFFになっています。 又、非常に単純な方法で負荷をかけていますので、現実の案件でやるべき負荷テストとは、 テストとしての品質において非常に劣っていると言わざるをえません。*1 基本的には、これから負荷テスト的な事をやりたいと思っている人の参考に少しでもなれればイイなぁ…と、思います。
今回の負荷テストを行ったハードウェア及び一部のミドルウェアについてです。 CPU vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5160 @ 3.00GHz stepping : 6 cpu MHz : 3000.274 cache size : 4096 KBXeon 3GHz デュアルコアのCPUが2つのってるサーバです。 結局、コアは4個って訳です。 メモリ MemTotal: 2074780 kBんーと、つまり、2GBですな。 OS Linux version 2.6.9-34.ELsmp (bhcompile@hs20-bc1-7.build.redhat.com) (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2))
id:koichikさんに「S2も比較に追加して」というコメントを頂いたので、言われた通りの方法で追加して試しました。Seasar2のテストコードはま!さんのSeasar2用コードにkoichikさんの記述を追加しただけのものです。Seasar2は触った事がないのでシングルトンかどうか分からなかったのですが、デバッグしながら見たらinjectされたオブジェクトのIDが呼び出しのたびに異なっていたので、毎回インスタンス化しているのだろう(=条件は同じだろう)と判断しました。また、上記Springの訂正も含まれています。 最初の3回の結果は以下です。Springにとってはちょっと…. Spring: 1,734 creations/s Guice: 35,161 creations/s S2: 18,395 creations/s Spring: 1,776 creations/s Guice
※下記はコードが間違っていて訂正したので、その8をご参照下さい。 その5でid:shot6さんにコメントを頂いた事もあり、AOP使用時のパフォーマンスを比較してみます。 使うのは、Guice付属のパフォーマンス比較コードにAOP設定とAOPを挟んだメソッドの呼び出しを追加したものです。 SpringのAOPはとりあえずノーマルなProxyで。 // 設定 RootBeanDefinition proxy = new RootBeanDefinition(ProxyFactoryBean.class); MutablePropertyValues proxyValues = new MutablePropertyValues(); proxyValues.addPropertyValue("target", new RuntimeBeanReference("barImpl")); prox
The Spring Framework Projectは2日(米国時間)、JSF-Springの最新版となるJSF-Spring 4.0を公開したことを発表した。JSF-SpringはSpring frameworkとJSF (JavaServer Faces)の統合を実現するための包括的なグルーコードを提供するプロダクト。JSF実装に依存しないように開発されているため、いくつものJSFプロダクトと組み合わせて活用できるという特徴がある。 サポートしているバージョンはJSF 1.1およびSpring framework 2.0。Spring frameworkはすでにJSF VariableResolver実装によりJSFとの統合を提供している。これはBeanを経由したアクセスを提供するもので、多くの場合には十分な働きをしている。JSF-SpringはSpring frameworkをさ
DIコンテナの設定情報,つまり「オブジェクトの依存関係」や「オブジェクトの設定内容」について,規約重視で暗黙のものとするか,ファイルに記述することで形式のものとするかは,個々人によって主張が異なるようである。何が何でも設定ファイルを書かない,あるいは,何が何でも設定ファイルを書く,といった「原理主義者」も多く,多くの場合は彼らの説明に「コンテキスト」が含まれない。よって,主張を聞いても,実際に何らかのDIコンテナを使う際をイメージした場合,その主張に沿う部分と沿わない部分が僕個人の中で発生し,完全に主張を受け入れられないことがよくある。 結局のところ「DIコンテナをどう使うか」(=上記で言ったコンテキスト)によって,暗黙知とするか形式知とするかを判断しなければならないと思っている。 DIコンテナの適用パターンとして代表的なものは,「View,Business Logic,Dao」といった3
The Spring Framework Projectは3日(米国時間)、DI(Dependency Injection)を実現するJ2EEアプリケーションフレームワーク「Spring Framework 2.0 (以下Spring 2.0)」を公開した。 Spring 2.0では、設定ファイルをXMLスキーマベースの文法で記述できるようになったことや、AOP(Aspect Oriented Programming)が拡張されてAspectJとの連携がより緊密になったことなどが主な変更点として挙げられている。その他、Java Persistence APIのサポートやスクリプト言語のサポートなど多くの新しい機能が追加された。 本稿では、Spring 2.0における変更点の目玉となるXML設定ファイルに焦点を当て、XMLスキーマを用いたBean定義の方法などを紹介する。
Webアプリケーションシステムに関する技術はコンポーネント化やプラガブル化が進み、組み合わせてシステム構築に使うといった用途が増えている。逆にいえば、単体の技術だけではWebアプリケーションシステムを開発することは面倒で、否応なく組み合わせなければならない。 これを解決するソリューションとして「フルスタックプロダクト」とか「フルスタックアプリケーション」と呼ばれるものがある。これは既存の技術コンポーネントを組み合わせ、単体でシステム構築のすべてをカバーできる成果物を提供するというものだ。今一番有名なのはRuby on Rails(以降、RoR)だろう。 Java WebアプリケーションシステムにおけるフルスタックプロダクトにはRIFE、Grails、AppFuseなどがあるが、今月、ここに新顔が登場した。Struts 2などを採用したプロダクトで今後の展開が興味深い。ここでは新進気鋭のプロ
<components> <component name="component00000A" class="xxx.Bean00000AImpl" autoBinding="none"> <property name="bean00000B">component00000B</property> </component> <component name="component00000B" class="xxx.Bean00000BImpl" autoBinding="none"/> <component name="component00001A" class="xxx.Bean00001AImpl" autoBinding="none"> <property name="bean00001B">component00001B</property> </component> <compon
The Spring Framework Projectは28日(米国時間)、Spring Frameworkの安定最新版であるSpring Framework 1.2.7を公開した。Spring Framework 1.2.7はJavaで作成されたフルスタックのWebアプリケーションフレームワーク。 Spring Framework 1.2.7はApache License Version 2.0のもとで公開されているオープンソースソフトウェア。Spring Framework 1.2.7はメンテナンスリリースにあたり、これまでに公開されたSpring Framework 1.2.xにおいて発見された多くのバグが修正されている。また、次期Spring Frameworkとして開発が進められているSpring Framework 2.0 M1/M2から要望が高かった機能のいくつかがバックポ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く