Archive for 9月, 2010

JavaFX の新しいグラフィックエンジン

先日 JavaOne のキーノートで発表された、JavaFX の新しいグラフィックエンジンについてですが、Prism エンジンと呼ばれ、JavaFX 1.3.1 に含まれるようです。

そしてこの Prism エンジンを利用するためには、コマンドライン引数に(-Xtoolkit prism)を指定する必要があります。このオプションは 1.3.1 ではまだ検証目的での使用が推奨されており、デフォルトでは無効になっています。次期 JavaFX のリリース時にはこの Prism エンジンがデフォルトで利用可能になるようです。次期 JavaFX は来年夏頃にリリースする予定です。

JavaFX 1.3.1 での例:
# javafx -Xtoolkit prism -jar MyTest.jar

広告

2010年9月22日 at 10:35 AM

JavaOne 2010 キーノート概要紹介

今日の朝に発表された、Java One Key Note の概要を下記にまとめてみました。

* 11 億のデスクトップで Java が稼働しています。
* 30 億の携帯電話で Java が稼働しています。
* これは、iPhone や Android の数を組み合わせた物を
  比べても 31 倍多い事を意味しています。
* Blue Ray プレーヤの100%で Java が稼働しています。
* 14億のJavaカードが毎年製造されています。

Thomas Kurian の登場

「1996年から参加していますが今年の Java One は
私にとって特別な JavaOne ですなぜなら、Oracle
になって初めての JavaOne だからです。」

3 層のロードマップについて紹介します。
Oracle の Java の今後の方向性について紹介します。

Language
Java VM
API (Java SE/Java EE/JavaFX)

このキーノートではこれらについての発展について紹介して行きたいと思います。

新しいアプリケーションモデルに対する Java の最適化 と新しいハードウェア
* Java 開発者に対する生産性の向上
* JavaVMにモジュール化を統合
* 新しいCPU、サーバクラスマシンにおける大規模メモリ、高速ネットワークインタフェースに最適化
* パフォーマンス、監視、診断機能 等の改善
* 多言語サポート

Project Coins : より簡潔なコードで生産性の向上
Project Coinsのサイト
* ジェネリクスにおける型推論の改善
* try 文を使ったリソースのブロック(自動リソース管理)
参考:自動リソース管理
* switch 文における文字列のサポート

Project Lamba: Closures for Java
Project Lambaのサイト
* インナークラスを使用されている方に簡潔な置き換えが可能
* コレクションにおけるバルクデータ操作の自動並列処理が可能

Project Jigsaw: Java プラットフォームのモジュール化
Project Jigsawのサイト
* エラー傾向があるクラスパスの問題を排除し生産性を向上
* コンポーネントやアプリケーションのパッケージと配布の改善
* NetBook から デスクトップ、サーバまでスケールするモジュール Java VM


マルチコアプロセッサー、巨大メモリ、高速ネットワーク対応
 *Fork/Join フレームワークと他のマルチスレッドの拡張(concurrent API)
 *超巨大ヒープに対するガベージコレクションの少ない停止時間
 *HotSpotから Permanenent 領域の排除
 *New I/O API: ファイルシステムや非同期 I/O の良いOSの使用

多言語をサポートする Java VM
 *動的言語における動的呼び出し(InvokeDynamic)のパフォーマンス改善
 *動的言語においてもマルチコアプロセッサにおける自動スケール
 *超高速な JavaScript エンジン


ここで、JRockit Mission Control のデモが行われました。
JRockit Mission Control の中に含まれる Flight Recorder と呼ばれる機能は、将来的にHotSpot VMでも利用可能になるようです。


オープンソース Java
OpenJDK:

 * 2011 年 と 2012 年に2つの新しい JDK をリリース予定
 * 2011 年に機能リストをコミット
  http://openjdk.java.net/projects/jdk7/features
 * Oracle はオープンソースの Java の実装継続にコミット
 * 外部の貢献者の参加を歓迎


Java クライアントツール:
HTML5とネイティブ・アプリの、最良の経験をJavaから提供

プログラミングモデル: Java の強力さ、JavaFXの簡単さ
Java, JavaScript, HTML 5間にネィティブな互換性を提供
ハイパフォーマンス:2D と 3D の Java グラフィックエンジン
デスクトップやモバイル分野におけるハードウェアの進化を有効に利用するための設計
完全な統合された開発ライフサイクル


プログラミングモデル JavaFX のかんたんさ
 * API, ビジュアルデザイン、標準もしくは複雑な UI コントロール、データバインド
 *オープンソースで提供される標準、もしくは複雑な UI コントロールライブラリ
 *大規模データセットのサポート、国際化対応、アクセシビリティ、拡張 Skinning
 *画像の使用時の柔軟性、組み込み HTML、2D-3D ベクターグラフィック

プログラミングモデル Javaの強力さ
 ジェネリクス、アノテーション、マルチスレッド、コンパイル
 標準の Java IDE , デバッグ、プロファイル

JavaScript と HTML 5 のネィティブの相互運用性
 組み込み HTML
 シームレスなDOMアクセス
 JavaScriptからJavaの Scenegraph を操作


ハイパフォーマンスのグラフィックエンジンの発表
 来年提供予定、開発ビルドは現在ダウンロードサイトから入手可能。
 新しくハードウェアアクセラレートされた2D/3Dのグラフィックパイプライン
 Java と JavaFXの実行環境ににしっかり統合
 かんたんなプログラミング:影、ぼやかし、反射、エフェクト、変換
 現在:3D変換が必要:将来:完全な 3D オブジェクト

最近の グラフィックハードウェアの機能の拡張を利用可能
 Windows 環境における DirectX
 OpenGL ES 2.0のサポート
 
完全で統合された開発ライフサイクル
 NetBeans を使用したビジュアルアセンブリ、編集、コンパイル、プロファイル、デバッグ
 データバインド(REST,JDBC,JSON,XML)
 Productivity: Coin, Closures, Modular Development, Graphics


デモ : 全て Java で作られたJava FX アプリケーション
Vector グラフィックを使用し、タッチスクリーンで操作が可能

NetBeans は 2011年に2バージョンをリリース予定
6ヶ月で 20% 利用者が増加
新機能リストとビルドは下記のURL

JavaFX
Oracle は JavaFX UIコンポーネントやコントロールを
オープンソースで作成/利用できる事についてコミット


新しい Java アプリケーションモデルに対して Java アプリケーションサーバを最適化
Dependency Injection を利用したアプリケーションサーバのモジュール化
軽量な Web Profile を提供し、JSP/Servlet/JSF を使用し、タイマーサービス、MDB 等を利用しないアプリケーションに最適、
JavaOne で GlassFish v3.1 のマイルストーン 5 を利用可能
マイルストーン 5 でクラスタ対応
POJOとEJBのプログラミングで生産性の向上
パフォーマンスと相互運用性の点でJava Webサービスを拡張
スクリプト言語、動的言語とより良い相互運用性


アプリケーションサーバのモジュール化の歴史
 2009年 – 参照実装における HK2 のマイクロカーネルベースの実装
 2010年 – エンタープライズ OSGi の仕様に準拠 ー JPA, JNDI, JDBC,JTA, HTTPサービス
 2010年 – OSGi と JavaEEを融合したハイブリッドプログラミングモデル

軽量 Web プロファイルの提供
 2009年 – JSR 316 Web Profile 提供
 2010年 – クラスタ対応の Web Profile を提供予定

POJOとEJBのプログラミングで生産性の向上
 2009年 – EJB 3.1 Lite, DI, Web Beans, Bean Validation の提供
POJOとEJBのプログラミングで生産性の向上
2010年 – JAX-WS, Reliable Messaging, Secure Conversations,Reliable Secure Protocol
2010年 – WS-I Basic プロファイル 2.0 – .NETアプリケーションとの相互運用性


デモ: GlassFish v3 を使用した POJO (JPA)開発デモ&管理コンソール


2011年に 2つの GlassFish をリリース予定
2011年リリース予定製品のコミットされた機能
 http://glassfish.dev.java.net
2009年1年で800万ダウンロード
外部の貢献者の参加を歓迎


全てのデバイスに対して Java/Webアプリケーションを提供

モバイルデバイスと言語機能の改善
Web 技術の統合
H/W や OS の機能へアクセスする新しいデバイス API
Java Card, Java TV, モバイル向けの軽量で電力を使用しない Java
Javaデバイスのツールやエミュレータ


java mobile.next
 言語、VM、ライブラリ、オプションパッケージと APIの改良

Web 技術の統合(HTML/JavaScriopt/CSS)
 Java ME の実行環境はモバイルサービスアーキテクチャをベース
 Webキットエンジン:JavaScriptエンジン、Java/JavaScriptブリッジ

H/W や OS の機能へアクセスする新しいデバイス API
 グラフィック、接続、IMS、センサー、支払い、電話、位置情報

 電話: ARM7/ARM9チップと制限されたメモリに対して最適化、
 TV : ブルーRay Java, DVB マルチメディア、Tru2way デジタルケーブルに最適化
 Card: パーソナル Identity Verification, National ID & health Care Card
 Java ME ロードマップ:
http://oracle.com/technetwork/java/javame

最後に、
個人的な感想ですが、先日ラリーエリソンの Welcome キーノートで JavaFX グラフィックエンジンについて触れられていたので、もう少しページを割いて細かな情報が得られるかと思っていましたが、ハイライトにしては少し情報がすくなかったように思っております。グラフィックエンジンについてはお試し版がダウンロードサイトから入手できるとスピーチされていたのですが、ダウンロードサイトを見つける事ができず(^_^;)、ここでリンクを紹介する事ができませんでした。すいません。後ほど別途 URL が分かれば、こちらからリンクを貼るようにします。
そして、一つ驚いたは JRockit Flight Recorder の機能が将来 HotSpot でも利用可能になるという事が発表された点です。
また、JDK 7, 8 の今後の動向(Plan A,Plan B)についてですがこのJavaOne で決まったようです。

Plan B に決定した模様
JAVAWORLD: JavaOne 2010: JDK 7 and Java SE 7

2010年9月21日 at 6:49 PM

Java One 2010/Oracle Open World 報道

Oracle からプレスリリース
プレスリリース

各種メディアからも JavaOne/Oracle Open World に関する報道が発表されています。
2010/09/21
Oracle OpenWorld 2010現地レポート ~JavaOneの新たなステージ
Oracle OpenWorld 2010スタート、注目は買収後のSunとFusion Applications
Oracle OpenWorldが開幕、初日から新製品について熱く語るラリー・エリソン氏がいた
IT Media : Oracle Exalogic登場、Facebookの世界中の処理要求をたった2台のフルラック構成で処理できる
日経プレスリリース:米オラクル、ミドルウェア・マシン「Oracle Exalogic Elastic Cloud」を発表
日経プレスリリース:米オラクル、「Oracle Exadata Database machine X2-8」を発表
エリソン氏とHP幹部、基調講演でハード氏には言及せず–Oracle OpenWorldで
Oracle、クラウド戦略推進に向けたハードやソフトを発表
Oracle、「Exalogic Elastic Cloud」発表——エリソンCEOがクラウドを語る
オラクルのエリソンCEO、「1個の巨大なクラウド」を発表
オラクル、複数のアプリケーションをアマゾンの「EC2」対応へ

2010年9月21日 at 4:21 PM

JavaOne 2010 Java EE 関連のセッションスケジュール

JavaOne 2010 の開催が次の日曜日と迫ってきました。参加される方は既にスケジュールを決めていらっしゃるかと思いますが、私もどのようなセッションがあるのか、どのようなセッションがあるのかを行ったつもりになって調べてみました。下記のスケジュールは JavaOne 2010 のセッションの内 Java EE 関連だけをまとめました。

初日:
この日は、レジストレーションがメインですが、Larry 等による Welcome Keynote があります。

2010/09/19(日)
AM 09:00 REGISTRATION 開始 (Moscone) AM 09:00 – PM 9:00
PM 12:00 REGISTRATION 開始 (Hilton) PM 12:00 – PM 9:00
PM 12:30 Oracle Users Forum PM 12:30 – PM 5:00
PM 2:30 GlassFish 2010 Community Event and Party(PM 2:30-PM 4:30)
PM 5:30 Oracle Welcome Keynote(PM 5:30-PM7:30)
* Oracle, Larry Ellison
* Oracle, Safra Catz
* HP, Ann Livermore
PM 7:30 GlassFish 2010 Community Event and Party(PM 7:30 – PM 10:00)

2日目:
この日は丸一日セッション漬けですね。


2010/09/20(月)
AM 10:00 Hyperproductive JavaServer Faces 2.0
JavaServer Faces Antipatterns and Best Practices
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application
AM 11:30 Groovy: To Infinity and Beyond
HK2: Oracle WebLogic Server, Oracle GlassFish Server, and Beyond
Java Persistence API 2.0: An Overview
Key/Value Storage in the Cloud
Taking Java to the Sky: Cloud Computing 2010 Expert Panel
Where Does All the Native Memory Go?
PM 12:30 Beginning with the Java EE 6 Platform
Extracting Real Value from Your Data with Apache Hadoop
PM 1:00 Attractive and Portable Mac OS X Swing Clients for Java EE Applications
Building a Pet Store That Will Survive Cyber Monday
Hands-on with RichFaces
Java Hold ‘em: Implementing an Online Poker Platform Using Java EE and Java SE
Ten Easy Ways to Improve Java EE Performance
What’s New in Grails 1.3?
PM 2:30 JavaServer Faces 2.0 Technology: Implementing Ajax-Infused Web
Maven 3.x: The Evolution of Enterprise Java Build Infrastructures
More Best Practices for Large-Scale Websites: Lessons from eBay
Querying with the New Java Persistence Criteria API
Secure, Asynchronous Web Applications Using Java Servlet 3.0 and Java EE 6
PM 4:00 Application Security Enhancements in Java EE 6
End-to-End Richness: Integrating Java EE Services to Create Engaging RIAs
Extreme Java Productivity: Enterprise Applications in Just Minutes
Java Persistence API (JPA) 2.0 with EclipseLink
Lessons Learned from Java in the Internet Age and What It Means for the Cloud
Resin: A Light-footed Java EE 6 Web Profile Platform
PM 5:45 JavaOne Keynote (PM5:45-PM7:15)
* Oracle, Thomas Kurian
* Intel, Doug Fisher
PM 7:30 JDBC and RowSet Community Discussion
Java on 40,000 Desktops
JavaServer Faces Community Dialogue
The Groovy and Grails BOF, with Live Grails Podcast Recording
The Play Framework: The Revolution in the Java EE World
PM 8:30 Advanced Monitoring and Troubleshooting with VisualVM
Apache Tapestry State of the Union
GlassFish Roadmap and Strategy
Implementing CDI: Goals, Milestones, and Perspectives
Java Servlet and Web Container Community Input
Performance Tips and Tricks: Java EE, Java Persistence API, and JavaServer Faces
PM 9:30 Dependency Injection (DI) Flavors in Spring 3
Security in GlassFish v3 and v3.next

3日目:
この日も丸一日セッション漬けですが、PM 2:30 からの Roberto 達の Technical General Session は必ず出席しなければなりませんね。


2010/09/21(火)
AM 08:00 NoSQL Alternatives: Principles and Patterns for Building Scalable
What’s New in Enterprise JavaBean Technology
AM 09:30 A Peek at the Future: Going Beyond JavaServer Faces 2.0 with RichFaces 4
Creating Lightweight Applications with Nothing but Vanilla Java EE 6
Diagnosing and Fixing Memory Leaks in Web Applications: Tips from the Front Line
Getting More from Your CI Server: Taking Hudson to the Next Level
Java Persistence API: Tips, Patterns, and Best Practices
OSGi Migration Headaches
Pipelining for Performance
The Java EE 6 Programming Model Explained: How to Write Better
WebSockets Versus Comet: What Are the Differences, and Why Should I Care?
AM 11:30 Building Powerful WebSocket, Comet, and RESTful Applications Using Atmosphere
Comet and WebSocket Web Applications: Scale Server-Side, Event-Driven
Dealing with Asynchronicity in Java Technology-Based Web Services
JSR 299 (CDI), Weld, and the Future of Seam
Java Exam Room: Tools and Techniques to Get an Inside Look at Your
Testing Java EE 6 Applications: Tools and Techniques
PM 12:00 Developing OSGi-Enabled Java EE Applications
Using OAuth with RESTful Web Services
PM 1:00 A Lean, RESTful Java Architecture for Building Rich HTML5 Web Applications
Bean Validation: Best Practices for Real Life
Complete Tools Coverage for the Java EE 6 Platform
Hacking Heating Systems with Java EE 6, JavaFX, and Scripting
PM 2:30 JavaOne Technical General Session (PM 2:30 – PM4:00)
* Oracle, Greg Bollella
* Oracle, Roberto Chinnici
* Oracle, Mark Reinhold
PM 6:00 Creating Modular CRUD Desktop Applications
Expression Language: Community Feedback and Future Development
Give Me a Proper Visual JavaServer Faces Editor or Else . . .
Object-Relational Mapping with the New Features of the Java Persistence API 2.0
PM 7:00 Embedded GlassFish
Enterprise JavaBean (EJB) Community Discussion
Framework Pluggability in a Java EE 6 Container
PM 8:00 7 Deadly Sins of Enterprise Java Programming and Deployment in the Multicore Era
Ajax Components on the JavaServer Faces Platform
One Java Project, Two Different Angles
Troubleshooting and Debugging SSL Problems
PM 8:15 Quickly and Efficiently Build CRUD Applications with Rich Client Platform[HOL]
PM 9:00 Chillin’ with ICEfaces
Hot Class Swapping: Avoiding Redeployment During Java EE Development
OSGi at a Large-Scale Enterprise: Lessons from eBay
olap4j: OLAP API for Java Developers

4日目:この日は夕方までセッションを頑張りましょう。夕方から Oracle の感謝イベントが開催されるので、この3日間の疲れを取るため思いっきりはじけましょう。


2010/09/22(水)
AM 10:00 A Lean, RESTful Java Architecture for Building Rich HTML5 Web Applications
Eliminating the Pauses in Your Java Application
JUnit Kung Fu: Getting More Out of Your Unit Tests
Java EE 6 Panel: What Do We Do Now?
Square Peg in a Round Hole: Managing XML Information in Java
Using Contexts and Dependency Injection (CDI) in the Java EE 6 Ecosystem
Using OAuth with RESTful Web Services
AM 11:30 Developing for Mobile Devices: Oracle Application Development Framework and Java
Fine-Grained Authorization for Java Applications
SQL .NET CLR Type Extensibility to Java
PM 12:30 Extracting Real Value from Your Data with Apache Hadoop
Securing Web Services
PM 1:00 Abstract Mashups for Enterprise Java
Top 10 Causes for Java Issues in Production and What to Do When Things Go Wrong
Transactions: Overused or Misunderstood
PM 2:15 Comparing and Contrasting Application Servers and Event Servers
Java Persistence API Futures BOF
PM 4:45 Myths, Misconceptions, and Hidden Gems in Java Platform Security
Scale Java Persistence API Applications with OpenJPA Slice
The Feel of Java EE 6: Interactive Onstage Hacking
The Space Elevator: Moving Big Data Between Your Enterprise and the Cloud
Throwing Complexity over the Wall: Rapid Development for Enterprise Java
PM 7:30 Oracle 感謝イベント (PM 7:30 – AM 0:00) Treasure Island

最終日:
最終日も夕方までセッションが用意されています。クタクタになっていると思いますが最後まで気合いで乗り切りましょう。最後に Wrap Up のイベントも開催されるようなので、終わったらこちらに集まってみましょう。


2010/09/23(木)
AM 09:00 JavaOne Keynote (AM 9:00 – AM 10:30)
* Ray Kurzweil
* Oracle, Richard Bair
* Oracle, Greg Bollella
AM 11:00 Beginning with the Java EE 6 Platform
Secure Identity Propagation Across Tiers and Security Domains
The Cassandra Distributed Database
What’s Cool in Apache MyFaces
PM 12:30 Applets? Yes, Applets: Deep-Dive Best Solution for Rich Internet
Google Web Toolkit, Take 2: Implementing Awesome Rich Internet
Java Transaction API Caching: Consistent, Distributed, and Coherent
PM 2:00 Building Enterprise Web Applications with Spring 3.0 and Spring 3.0 MVC
Building a JavaFX-Based Monitoring App, Using the GlassFish REST
Functional Programming in Java: Lessons Learned by GridGain
Hacker-Proofing Web Applications with Java EE 6
Login Failed, Try Again: 10 Best Practices for Authentication in the Cloud
Simpler Scalability, Fault Tolerance, and Concurrency Through Actors and STM
PM 3:30 Creating Modular Applications with Apache Aries and OSGi
JavaFX and the Enterprise: Spinning the Solution
Making Real-Time Data Come Alive
SomeSQL: Combining NoSQL Technologies with Existing RDBMS Architectures
Static Analysis in Search for Performance Antipatterns
The JSF 2.0 and HTML5 Version of Parleys.com
PM 4:00 It’s a Wrap! – Yerba Buena Gardens (PM 4:00 – PM 6:00) おしまい

2010年9月17日 at 2:27 PM

JavaOne 2010&OOW 開催 (09/19 – 09/23)

JavaOne 2010

9月19日〜23日まで、サンフランシスコで JavaOne が開催されます。今年の JavaOne は Oracle になってはじめての JavaOne になるわけですが、昨年までと違い、Oracle Open World と同時開催になります。
JavaOne は朝早くから夜遅くまでセッションがあり、参加者の皆様にはとてもハードな1週間になるかと思いますが是非、新しい JavaOne を堪能してきてください。

私は大変残念ながら今年も日本で待機ですが、現地で発表された情報等をブログ、Twitter 等を通じて少しでも発信できればと思っております。日本語で Oracle Open World/JavaOne の情報を入手されたい方は下記の Twitter のリストをフォローしてください。社員が開催期間中に関連情報についてつぶやく予定です。

Oracle の社員の OOW/JavaOne レポーターリスト:
http://twitter.com/Oracle_Japan/openworld-reporters

日本からも数多くのお客様からご登録頂いておりますが、参加者の方でブログ等をお持ちの方がいらっしゃいましたら、ブログ の URL を教えていただけないでしょうか。広報より適宜、転載させていただいたりTwitterでつぶやかせていただきたいと思いますので、是非ご連絡いただければ幸いです。

ご連絡は下記のアドレスまで:
Yoshio ドット Terada アット Oracle ドット COM

また、JavaOne 参加者の皆様の中で、現地で日本人と交流を図りたい方は是非、さくらばさんにご連絡ください。現在さくらばさんが 日本から参加されるお客様のリストを下記にまとめて下さっています。

JavaOne 2010 日本からの参加者 リスト:
http://twitter.com/skrb/javaone2010

上記リストに追加して頂き、現地での情報交換に役立てて頂ければと思います。

最後に、
サンフランシスコは結構寒いと思いますので少し暖かめの服をご用意して行かれると良いかと思います。私も、過去用意していかず、あまりにも寒くて現地で服を購入した思い出があります。
それでは、参加される皆様くれぐれもお体に気をつけて行って来てください。

2010年9月16日 at 11:34 AM

HTTP TRACE メソッドの無効化 on GF v3

GlassFish v3.0 の HTTP リスナーの設定はデフォルトで TRACE メソッドが有効になっています。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
TRACE / HTTP/1.1
Host: localhost



HTTP/1.1 200 OK
Server: Oracle GlassFish Server 3.0.1
Content-Type: message/http
Content-Length: 35
Date: Tue, 07 Sep 2010 08:45:33 GMT


TRACE / HTTP/1.1
host: localhost

TRACE メソッドを無効化するためには、asadmin の set サブコマンドで trace-enabled オプションを true から false に変更してください。

$ asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false

コマンド set は正常に実行されました。

設定変更後、再度アクセスすると無効になっている事を確認できます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
TRACE / HTTP/1.1
Host: localhost


HTTP/1.1 405 TRACE method is not allowed
Allow: POST, GET, DELETE, OPTIONS, PUT, HEAD

Content-Length: 0
Date: Tue, 07 Sep 2010 08:50:53 GMT

2010年9月7日 at 5:56 PM

X-Powered-By ヘッダの削除方法 on GF v3

ちょっとしたメモです。
GlassFish v3.0.x で X-Powered-By ヘッダを削除する方法を下記に示します。標準の設定で GlassFish にアクセスすると、下記のように “X-Powered-By” ヘッダが表示されます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
X-Powered-By: Servlet/3.0
Server: Oracle GlassFish Server 3.0.1
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Tue, 07 Sep 2010 08:10:51 GMT

これはデフォルトで作成される HTTP リスナーの設定において有効化されているためです。

$ ./asadmin get configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=true

コマンド get は正常に実行されました。

これを無効化するためには、下記のように無効化(false)に設定してください。

$ ./asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false

コマンド set は正常に実行されました。

設定変更後、再度アクセスすると”X-Powered-By” ヘッダが削除されている事を確認できます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
Server: Oracle GlassFish Server 3.0.1
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Tue, 07 Sep 2010 08:19:09 GMT

※ Server ヘッダは現時点では削除できませんが、もうすぐでできるようになるらしいです。
https://glassfish.dev.java.net/issues/show_bug.cgi?id=6900

追記:GlassFish v3.0.1では下記のサブコマンドを実施し変更できました。

$ ./asadmin create-jvm-options -Dproduct.name=”My Own Server”
1 オプションを作成しました
コマンド create-jvm-options は正常に実行されました。
$ ./asadmin restart-domain domain1
ドメインは正常に再起動されました
コマンド restart-domain は正常に実行されました。

ドメインを再起動した後、再度アクセスして確認してください。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
Server: My Own Server
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Thu, 09 Sep 2010 01:58:41 GMT

2010年9月7日 at 5:27 PM

過去の投稿


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2010年9月
« 8月   10月 »
 12345
6789101112
13141516171819
20212223242526
27282930  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 997,674 hits

Feeds