[WLS, Java] Different ways to take thread dumps in WebLogic Server

原文はこちら。
https://blogs.oracle.com/vijaya/entry/different_ways_to_take_thread

WebLogic Serverでスレッドダンプを取る方法あれこれ

WebLogic Server (WLS) およびJavaでは様々な方法でスレッドダンプを取ることができます。その方法の詳細を以下にまとめました。スレッドダンプ採取にあたっては、Javaクラスや管理コンソールではなく、OSコマンドを使うことを常に推奨します。それは、管理コンソールがハングアップした場合、ユーザーが接続できずスレッドダンプを採取できなくなるからです。
  1. WebLogic Serverをコマンドラインスクリプトから立ち上げている場合、OSコマンドを使いスレッドダンプを取得する。
    • Windowsでは、スレッドダンプの採取方法は以下の通りです。
      スレッドダンプをサーバーの標準出力に生成する
      <ctrl>+<break>
    • POSIX互換プラットフォーム(SolarisやLinuxなど)では、まずプロセスID(pid)を
      ps -ef | grep java
      で特定した上で、以下のコマンドを発行します。
      kill -3 <pid> 2>&1
      シグナル3はSIGQUITと等価です。Solarisの場合、スレッドダンプを現在のシェルで生成しますが、Linuxではpidによって特定されたJavaプロセスを開始したシェルにスレッドダンプが生成されます。
  2. beasvcを利用する (WebLogic Server 10.3.5まで):
    beasvc -dump -svcname:<service_name>
    • <service_name>はサーバーインスタンスを実行するWindowsサービスです(例:mydomain_myserver)
  3. wlsvcを利用する(10.3.6、12.1.1から)
    wlsvc -dump -svcname:<service_name> -log
  4. WLSTを使う
    setDomain.cmd もしくは setDomain.sh
    java weblogic.WLST
    connect("<username>","<password>","t3://<url>:<port>")
    threadDump()
    スレッドダンプをThread_Dump_AdminServer.txtに出力します。
    Note 1274713.1では、WLSTスレッドダンプの詳細(各ダンプの時間間隔の設定方法やスレッドダンプ採取回数の設定など)について説明とサンプルがあります。
    How To Take Thread Dumps With WLST (Doc ID 1274713.1)(My Oracle Supportのアカウントが必要です)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1274713.1
  5. WebLogic Server 9.0までであれば、コマンドラインもしくはシェルから、スレッドダンプを以下のコマンドで生成することができます。
    setDomain.cmd もしくは setDomain.sh
    java weblogic.Admin <url>:<port> -username <username> -password <password> THREAD_DUMP
    スレッドダンプを指定したサーバー標準出力先に生成します。
  6. WebLogic Server管理コンソールから、[サーバー]>[サーバー名]>[監視]>[スレッド]とたどり、[スレッドスタックのダンプ]をクリックするとスレッドダンプを生成できます。この方法の場合、スレッドダンプが切り捨てられたり、不完全なものができる場合があります。

  7. WebLogic ServerをWindowsサービスとして実行している場合、サービス管理ツールからスレッドダンプを生成することができます。詳しくはMy Oracle Supportからサポートドキュメントをご覧下さい。
    Collect thread dump in GUI mode when WebLogic Server is running as Windows Service (Doc ID 1348645.1)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1348645.1
  8. Java VisualVMを使い、スレッドダンプをアプリケーション実行中に取得することも可能です。詳細は以下のリンクをご覧下さい。
    Java VisualVM - Working with Local Applications
    http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_local.html
  9. jstackを使ってスレッドダンプを取得します。
    jstack <pid>
    ロックに関する追加情報を表示したい場合は
    jstack -l <pid>
  10. JRockit Mission Controlをお使いの場合、jrcmdを使って取得することができます。
    jrcmd <pid> print_threads
  11. (訳者による追加)JDK 7の場合(7u4以後)、jcmdを使って取得することができます。
    jcmd <pid> Thread.print

[Java] Java Mission ControlとJava Flight Recorder

ご存知の方も多いと思いますが、JDK 7u40から、Java Mission ControlとJava Flight Recorderがバンドルされています。
Java Mission Control
http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html
Java Mission Control (Finally) Released!
http://hirt.se/blog/?p=343
概要説明のスライドはこちら。


ホワイトペーパーも出ています。
Oracle Java Mission Control および Java Flight Recorder: パフォーマンスのオーバーヘッドなく、高度なJava診断および監視(日本語)
http://www.oracle.com/technetwork/jp/java/javaseproducts/mission-control/java-mission-control-wp-2008279-ja.pdf
Advanced Java Diagnostics and Monitoring Without Performance Overhead(英語)
http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-wp-2008279.pdf
Java Mission Control、Java Flight RecorderはJava SE Advanced、もしくはJava SE Suiteをお求めの方がご利用いただける機能です(つまりお金必要ですよ、ということですね)。
とはいえ、ちょっと動作を試してみたい、ということもあるかと思います。その場合、上記スライドにもある通り、個人的な評価であればBCLライセンスに基づいて利用可能です。利用に当たっては、次のコマンドを追加する必要があります。
java -XX:UnlockCommercialFeatures -XX:+FlightRecorder
コマンドラインリファレンスは以下からどうぞ。
Java Platform, Standard Edition (Java SE) Command Reference
もしリモートのFlight RecorderからWebLogic Serverに接続したい場合、WebLogic Server起動時のJavaオプションに、JMXの設定(com.sun.management.jmxremote.*)を追加する必要があります。

P.S.
確かにずるいんですけどね…

[Linux] Public yum now powered by Akamai

原文はこちら。
https://blogs.oracle.com/linux/entry/public_yum_now_powered_by

無料アップデートとエラータを利用できることで、大幅にOracle Linuxの人気が高まっています。 2013年3月からの最近のGartner社の調査によると、Oracle Linuxは2012年に前年比80%以上成長し、Linux Server OS市場でトップ3に位置しています。これはLinux Server OS市場全体の伸びを上回りました。
Free Updates and Errata for Oracle Linux
https://blogs.oracle.com/linux/entry/free_updates_and_errata_for
Oracle Continues Linux Leadership in the Enterprise - Customer and Partner Momentum Enable Oracle Linux to Achieve Fastest Growing Enterprise Linux Status
http://www.oracle.com/us/corporate/press/1973585
この人気はダウンロード件数にも反映しました。この頃では毎月80TBのデータ量を提供しており、この数値は増加を続けています。継続的にこの無料サービスに満足頂きたいので、USに配置しているパブリックYumサーバをAkamaiのCDN(Content Delivery Network)を利用するように切り替え、すべてのダウンロード可能なOracle LinuxのRPMパッケージを全世界に配信するようにしました。
Public Yum Server
http://public-yum.oracle.com/
これにより、世界のどこにいても、Oracle Linuxのアップデートやセキュリティ修正を入手する際のパフォーマンスが向上します。Akamai CDNのおかげで、世界のどこにいようと、ダウンロードも同様に速くなっています。
ホスト名でパブリックYumサーバーに接続する必要がありますのでご注意下さい。AlamaiはDNSを使って負荷をリダイレクトしているため、YumクライアントがパブリックIPアドレスでパブリックYumサーバーにアクセスするように設定されている場合、性能向上の恩恵は得られません。是非設定をご確認下さい!

[Security, Architecture] Security by Design

原文はこちら(ドイツ語)
https://blogs.oracle.com/SecurityDE/entry/security_by_design

ITセキュリティーは、アプリケーション開発と同様に正しいデザインに依存します。今日すでにアプリケーション・ランドスケープのデザインにおいて実施しているように、あらかじめ持続可能性を実現するようにしておくべきです。
以下の記事で、エンタープライズアーキテクチャの観点でセキュリティをモデリングする方法を説明しています(訳注:記事は英語です)。
Privacy and Security by Design - An Enterprise Architecture Approach
Ann Cavouvikan (Ph. D), Mark Dixon (2013/9)
http://www.privacybydesign.ca/content/uploads/2013/09/pbd-privacy-and-security-by-design-oracle1.pdf

[FMW, Support] Read the newly updated Fusion Middleware Lifetime Support Policy Document

原文はこちら。
https://blogs.oracle.com/proactivesupportDI/entry/read_the_newly_updated_fusion

新たに更新されたFusion Middleware Lifetime Support Policy Documentがご覧いただけるようになっています。これは製品のEnd of Life計画に関するOracleからの公式な発表です。
ORACLE INFORMATION-DRIVEN SUPPORT
Oracle Lifetime Support Policy - Oracle Fusion Middleware
http://www.oracle.com/us/support/library/lifetime-support-middleware-069163.pdf
詳細は原文をご覧頂くとして、大きな変更点は以下の通りです。
  • 11gおよび10gR3の"Suite"製品のEnd of Lifeの日付が変更されています。
  • BIおよびEPMに関し、新規エントリが追加および更新されています。
  • 以下のサポートドキュメントでは、"Suite"製品の延長されたサポート期間の根拠ならびに、延長された11gR1 PS6のエラー修正サポートについて説明しています。
  • Extended Fusion Middleware 11g Lifetime Support Policy Dates (Doc ID 1585582.1) https://support.oracle.com/rs?type=doc&id=1585582.1
  • 12cに関するLifetime Support Policyの変更はこの変更からは除外されています。12cに関する記述は、ロードマップが確定してから追加される予定です。 

[Applications] Oracle E-Business Suite 12.2 Now Available

原文はこちら。
https://blogs.oracle.com/stevenChan/entry/ebs_12_2_now_available

Oracle E-Business Suite Release 12.2がGAとなり、ダウンロードできるようになったことを発表でき、非常にうれしく思います。
E-Business Suite 12.2 Download screenshot
EBS 12.2はここ数年で最も画期的なリリースです。
Oracle E-Business Suite 12.2 Helps Organizations Make Better Decisions, Reduce Costs and Increase Performance
www.oracle.com/us/corporate/press/2016931
これには新しい製品機能、新しいFusion MiddlewareおよびDatabaseのコンポーネントが含まれており、E-Business Suite環境のインストール、メンテナンスのための新しいツールが用意されました。

数多くの新機能

ERP、HCM、SCMにまたがるビジネスアプリケーションの統合スィート全体にわたり重要な機能強化が施されています。新機能の完全なリストは以下からご覧いただけます。

オンラインでのパッチ適用

ユーザーがトランザクションを入力していたり、E-Business Suiteを利用している間にもEBSのパッチを提供してください。Online PatchingはOracle DatabaseのEdition-Based Redefinition機能(エディションベースの再定義)やその他の新テクノロジーを使い、システムが稼働中であってもE-Business Suiteをアップデートすることができます。Online Patchingに関する詳細は、公式ドキュメントもしくは以下のテクニカルWebcastをご覧下さい。

WebLogic Server

EBS 12.0および12.1で利用してきたOracle Containers for Java (OC4J)アプリケーションサーバーから置き換わってOracle WebLogic Serverを使うようになりました。これによりシステム管理体験が向上するのか、公式ドキュメントもしくは以下のテクニカルWebcastをご覧下さい。

合理化されたインストール

  • 既存のDatabaseサーバーへのEBS 12.2をインストールするためのオプション
  • 既存のReal Application Clusters環境にインストールする機能
  • Automatic Storage Management (ASM)やその他のファイルシステムへのデータベースのデプロイ

EBS 12.2へのアップグレード

EBS11iから12.2へ直接アップグレードする方法はありますか?

はい、EBS 11.5.10.2からEBS 12.2へ直接アップグレードできます。EBS 11.5.10.2のお客様はEBS 12.2へのアップグレードのために、例えば12.1.3のような中間のEBS 12リリースをインストールする必要はありません。EBS 11.5.10.2のお客様はOracle E-Business Suite Release 11.5.10 (Doc. ID 883202.1)のExtended Supportのための最低限のベースラインパッチ要件を適用しておく必要があります。11.5.7など、EBS 11iより前のリリースをお使いのお客様であれば、EBS 12.2へアップグレードする前にExtended Supportの最低限のベースラインパッチ要件に加えて、11.5.10.2レベルにしておく必要があります。

EBS 12.0から12.2へ直接アップグレードする方法はありますか?

はい、EBS 12.0.4、12.0.6からEBS 12.2へ直接アップグレードできます。EBS 12.0.4もしくは12.0.6のお客様は、EBS 12.2へのアップグレードのために、例えば12.1.3のような中間のEBS 12リリースをインストールする必要はありません。12.0.3など、それ以前のEBS 12.0リリースのお客様であれば、EBS 12.2へアップグレードする前に12.0.4もしくは12.0.6レベルにしておく必要があります。

EBS 12.1から12.2へ直接アップグレードする方法はありますか?

はい、EBS 12.1.1、12.1.2、12.1.3からEBS 12.2へ直接アップグレードすることができます。

EBS 12.2のためにどのような準備をすればよいでしょうか。

    参考資料

    [Database, Solaris] Tech Article: Oracle Multitenant on SPARC Servers and Oracle Solaris

    原文はこちら。
    https://blogs.oracle.com/eSTEP/entry/tech_article_oracle_multitenant_on

    9月に、新しい技術記事を発表しました。
    Oracle Multitenant on SPARC Servers and Oracle Solaris (by Ritu Kamboj)
    http://www.oracle.com/technetwork/articles/servers-storage-admin/multitenant-on-sparc-solaris-2016889.html
    この記事では、Oracle Solarisで動作するSPARCサーバー上でOracle Database Enterprise Edition 12cのOracle Multitenantオプションを使うメリットをご紹介しています。また、Oracle ZFS Storage Applianceに展開されたときにOracle Database 12cのthin provisioningと瞬時クローニング機能を有効にする手順も取り上げています。

    [Java] JDK 7u40 and JavaFX 2.2.40 Documentation Updates

    原文はこちら。
    https://blogs.oracle.com/thejavatutorials/entry/jdk_7u40_and_javafx_21

    JavaFX 2.2.40とともにJava Development Kit 7 Update 40 (JDK 7u40) のリリースを発表でき嬉しく思います。ダウンロードはJava SE Downloadページから可能です。新機能に関する詳細情報はリリースノートをご覧下さい。
    Java SE Downloads
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    JDK 7u40 Release Notes
    http://www.oracle.com/technetwork/java/javase/7u40-relnotes-2004172.html
    JDK 7u40リリースではJavaドキュメントのアップデートがいくつかあります。
    全てのチュートリアル、ガイド、APIドキュメントは以下のリンクからどうぞ。
    Java SE Technical Documentation
    http://docs.oracle.com/javase/
    JavaFX 2 Documentation
    http://docs.oracle.com/javafx

    [Coherence] One Client Two Clusters

    原文はこちら。
    https://blogs.oracle.com/felcey/entry/one_client_two_clusters

    一つのクライアントが複数のクラスタに接続したほうがよい場合があります。それはデータが離散しているためであったり、例えばクラスタが高可用性を担保するため異なる場所に配置されていたりするためであったりします。TCP通信でプロキシサービスを介しCoherenceクラスタに接続するCoherence拡張クライアントや外部クライアントにとって、これは非常に単純です。このエントリではこの方式の実現方法を説明し、ご自身でも試して頂けるような簡単なサンプルを用意しました。この構成のアーキテクチャは以下のようになっています。

    クライアントが同じ環境に共存しない場合には、Coherence*Extendの構成が望ましいでしょう。これはCoherence*Extendの性能がクラスタに影響を与えず、接続・切断時にはデータの復旧やリバランスされず、クラスタメンバーは変化しないからです。

    複数のクラスタに接続するクライアントを構成、拡張するには、各クラスタ用の別のキャッシュ構成ファイルを定義するだけでよいのです。ここで各構成ファイルにはキャッシュ名からクラスタのリモートアドレスが引けるようなマッピングが記載されています。これを使うと、複数のクラスタに対し同じキャッシュ名を持たせることができます。このリモートクラスタ構成の一意の要素例を以下に示します。

    各リモートクラスタのサービス名は一意である必要があります。ただし、リモートスキーム名が同じでもかまいません。リモートアドレスもまた明らかに各クラスタで異なっています。

    各キャッシュ構成ファイルを別のConfigurableCacheFactoryがロードします。そのため、各クラスタにはそれぞれのConfigurableCacheFactoryがあります。このConfigurableCacheFactoryを使って当該クラスタのNamedCacheを開始します。ここで完全に他のクラスタのNamedCacheから分離します。別々のNamedCacheを異なるConfiguratbleCacheFactoryを使用して作成する方法のサンプルを以下でご紹介します。

    POFを使っている場合は、クライアントおよび各クラスタには同じシリアライゼーション情報を含める必要がありますが、これは非常に簡単です。

    最後に、2個の別のクラスタと接続し、やりとりするところをただ今説明しましたが、12個以上のクラスタであっても、クライアントがJava以外の.NETやC++クライアントであっても同じです。

    Coherenceを利用するソリューションの構築にあたり追加の選択肢として、このエントリがお役に立つことを願っています。この方法を試したい方は、簡単な1クライアントー2クラスタのJavaのサンプルを用意しましたのでお試し下さい。

    [JavaFX] JavaFX 2.2.40 Documentation Introduces the New Deployment Features

    原文はこちら。
    https://blogs.oracle.com/thejavatutorials/entry/javafx_2_2_40_documentation

    JavaFX Deployment GuideがJavaFX 2.2.40リリース用にアップデートされ、新たにAntタスクでのUser JVM Argumentsの説明が追加されました。これにより、ユーザーがJVMオプションをオーバーライド可能なアプリケーションを作成できます。例えば、ユーザーはアプリケーションのヒープサイズを変更することができるようになります。

    新しい属性 <fx:jvmuserarg> が <fx:platform> に追加されました。この新しい属性は明示的にユーザーがオーバーライド可能な属性を定義します。例えば次のような感じです。
    <fx:platform>
            <fx:jvmuserarg name="-Xmx" value="768m" />
    </fx:platform>
    
    このケースでは、 -Xmx768m をヒープサイズのデフォルト値として渡していますが、この値をユーザー設定ファイル(LinuxおよびMacの場合)、もしくはWindowsの場合ならレジストリでユーザーはオーバーライドすることができます。
    詳細については、以下のガイドをご覧下さい。
    Deploying JavaFX Applications
    http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm

    [WebCenter] ALERT! WebCenter Content, Release 11.1.1.8 and an Important Patch!

    原文はこちら。
    https://blogs.oracle.com/proactivesupportWCC/entry/alert_webcenter_content_release_11

    大画面プラズマテレビが最初に出てきたころを覚えていますか?一部の人々は、単にそうしたテレビのほとんどに壊れたピクセルの列や他の問題があったにもかかわらず、我先にたくさんのお金をつぎ込んで購入していました。これらのテレビは完璧とは言い難いものでしたが、多くの人々はとにかくそれを望み、入手コストは気にしませんでした。そうした勇敢な「TV Pioneers」に感謝しています。それというのも、彼らがさらなる研究と開発のための道を開いたためです。最初のプラズマテレビが出てきてそれほど時間がかからずに、より手頃な価格のLCD、LED、および小さいサイズのフラットスクリーンテレビが導入され、安定性と画質に伴う壊れたピクセルや他の問題はなくなっていました。また、早期に新たな"TVプール"に飛び込む余裕がなかった人々にとっては、こうしたTVの価格はよりお手頃なものでした。
    WebCenter Content release 11.1.1.8は多数の新しいテクノロジーをもたらしています。このリリースにはモバイルデバイスのサポートや新しいユーザーインターフェースのサポートが含まれています。もし「アーリーアダプター」だったとしたら、すぐに飛びついてダウンロードすることをお薦めします。ダウンロードはこちらからどうぞ。
    Oracle WebCenter Content 11gR1 Downloads
    http://www.oracle.com/technetwork/middleware/webcenter/content/downloads/index.html
    しかしながら一つお伝えすべきことがあります。実は既に一つの必須のARU Patchがこのバージョンに対してリリースされています。
    Patch 17406049: WCC 11.1.1.8.0 BUNDLE (MLR 01) SEPTEMBER 2013
    https://support.oracle.com/epmos/faces/PatchDetail?patchId=17406049
    このPatchは特定の状況下で不安定になったり、破損したりする可能性がある問題が修正されます。より多くのパッチが定期的なメンテナンス間隔の間に出てきますので、もし(いわば)「安定したプラズマ」を待ちたいタイプなら、それらに目を光らせておきたいのかもしれません。
    この必要なパッチに関する疑問は、まずNote 1581671.1をご覧頂くか、SRをオープンして頂くと、適切にインストールする際の手助けになることでしょう。
    How to Upgrade Previous Versions of WCC 11G to 11.1.1.8.0 (Doc. ID 1581671.1)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1581671.1
    詳細は以下のNoteからどうぞ(My Oracle Supportのアカウントが必要です)。
    Announcing Oracle Fusion Middleware 11g Release 1 (11.1.1.8.0) - for Oracle WebCenter (Doc. ID 1567706.1)
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1567706.1
    このNoteには以下の内容が含まれています。
    • Details
      • Oracle Fusion Middleware 11g Release 1 (11.1.1.8.0) - for Oracle WebCenter
      • Products Included
      • Highlights
      • Bug Fixes
      • Release Notes
      • Known Issues
      • New Features
      • New Documentation Library
      • New Certification, System Requirements, Compatibility Guides
    • Actions
      • Getting Started
    • Contacts
    • References

    [Java] JDK 8 Documentation - Developer Preview Release

    原文はこちら。
    https://blogs.oracle.com/thejavatutorials/entry/jdk_8_documentation_developer_preview

    開発者がJDK 8の機能を調べるのに役立つ、Java Development Kit Release 8 (JDK 8) Early Access Documentationが改善、アップデートされました。ドキュメントは開発者ガイド(Developer Guides)、チュートリアル(The Java Tutorials)、APIドキュメント(API Documentation)からなります。
    Java Platform Standard Edition 8 Early Access Documentation
    http://download.java.net/jdk8/docs/
    The Java Tutorials
    http://docs.oracle.com/javase/tutorial/
    Java™ Platform, Standard Edition 8 API Specification
    http://download.java.net/jdk8/docs/api/
    JDK 8のEarly AccessはJDK 8 Projectからダウンロードできます。
    JDK 8 Project
    http://jdk8.java.net/
    Project Feedbackフォーラムを使ってJDK 8への提案や、JDK 8利用時に発生した問題をお知らせ下さい。
    Java SE Snapshots: Project Feedback
    https://www.java.net//forums/jdk/java-se-snapshots-project-feedback
    このリリースで不具合を発見されましたら、通常のJava SEバグレポートチャネルに投稿して下さい。
    Report a Bug or Request a Feature
    http://bugreport.sun.com/bugreport/
    以後では特定のJDK 8の強化ポイントに対応するドキュメントをご紹介します。

    Language and Library Enhancements

    以下の機能強化がJava言語やJDKライブラリに施されています。

    Lambda Expressions

    ラムダ式を使うと、関数をメソッド引数としてもしくはコードをデータとして扱うことができます。また、単一メソッドクラスのインスタンスをよりコンパクトに表現することもできます。例えば、プロセス終了時もしくはエラー時に、ラムダ式を使ってコレクションの各要素にアクションを実行できます。
    Lambda Expressions
    http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
    メソッド参照を使うと、既存のメソッドを名前で参照できます。これは、既に名前があるメソッドに対するコンパクトで可読性の高いラムダ式です。
    Method References
    http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html
    バルクデータ表現はコレクションの反復処理をします。そのため、コレクションに格納されている要素を処理するコードをより簡潔で効率的に記述することができます。バルクデータの操作のためにパラメータとしてラムダ式を指定すると、特定のバルクデータの操作の振る舞いをカスタマイズできます。Collectionsの項目では、大量データ操作に関する新しいチュートリアルを取り上げています。
    Trail: Collections
    http://docs.oracle.com/javase/tutorial/collections/

    Parallel Array Sorting

    JDK 7で軽量なデータ並列処理のためのFork/Joinフレームワークが導入されましたが、シンプルかつ共通のタスクのアルゴリズムを利用者自身で実装する必要があります。JDK 8では、Fork/Joinフレームワークを利用して配列の並列ソートの標準実装を提供しています。
    Fork/Join
    http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.htmlArrays
    http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

    Annotations API Updates

    Java SE 8にはAnnotations APIの重要なアップデートが含まれています。
    • 同じアノテーションタイプを一度以上同じ宣言もしくはタイプ利用に対し適用することができるようになりました(repeating annotations)。
    • 宣言に対してだけでなくタイプを使用している任意の場所にもアノテーションを適用できるようになりました。プラグイン可能な型システムと組み合わせて使用すると、この機能でコードの型チェックを改善することができます。
    Lesson: Annotations
    http://docs.oracle.com/javase/tutorial/java/annotations/index.html

    Base64 Encoding Schemes

    Base64Base64.EncoderBase64.Decoderというクラスが追加されました。
    Class Base64
    http://download.java.net/jdk8/docs/api/java/util/Base64.htmlClass Base64.Encoder
    http://download.java.net/jdk8/docs/api/java/util/Base64.Encoder.htmlClass Base64.Decoder
    http://download.java.net/jdk8/docs/api/java/util/Base64.Decoder.html
    base64エンコーディングスキームを利用するアプリケーションには、Multipurpose Internet Mail Extensions (MIME)とHTTPヘッダのエンコードパスワードを使うアプリケーションが含まれます。
    Enhancements in Java SE 8
    http://download.java.net/jdk8/docs/technotes/guides/lang/enhancements.html#jdk8.

    Security Enhancements

    以下の機能強化がJava SEのセキュリティ機能に施されています。

    Server Name Indication Extension for Server Applications

    Server Name Indication (SNI)拡張は、SSL/TLSプロトコルを拡張し、ハンドシェイクの間にどのサーバー名にクライアントが接続しようとしているかを示す機能です。JDK 7の Java Secure Socket Extension (JSSE) APIでは、SunJSSEプロバイダを使ってクライアントアプリケーションのためのSNI拡張を実現していましたが、JDK 8ではサーバーアプリケーションのためのSNI拡張をもサポートしています。サーバーはこのSNIを利用して、特定のSSLSocket もしくは SSLEngine インスタンスが接続を受け付けるべきか否かを判断することができます。
    詳細およびサンプルは、JSSE Reference Guideの以下の章をご覧下さい。
    Server Name Indication (SNI) Extension [Java Secure Socket Extension (JSSE) Reference Guide]
    http://download.java.net/jdk8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SNIExtension

    New PKIXRevocationChecker Class

    PKIXRevocationChecker クラスは、X.509ベースの公開鍵基盤(PKIX)アルゴリズムを使用した証明書の失効ステータスをチェックします。これは、ベストエフォート型のチェック、単一証明書のチェック、およびメカニズム固有のオプションとパラメータをサポートしています。
    Java PKI API Programmer's Guide
    http://download.java.net/jdk8/docs/technotes/guides/security/certpath/CertPathProgGuide.html#PKIXRevocationChecker

    SHA-224 Message Digests

    JDK 8の暗号アルゴリズムはメッセージダイジェスト実装のSHA-2ファミリーのSHA-224バリアントで機能強化されています。詳細は、以下のアップデートされたドキュメントをご覧下さい。

    Stronger Algorithms for Password-Based Encryption

    いくつかのAESパスワードベース暗号(PBE)アルゴリズム(例えばPBEWithSHA256AndAES_128PBEWithSHA512AndAES_256など)がSunJCEプロバイダに追加されました。
    Oracle Providers Documentation

    Enhanced Support for NSA Suite B Cryptography

    この機能強化にはSHA-224、SHA-256、SHA-384、SHA-512メッセージダイジェストと、SHA224withDSAとSHA256withDSA署名の追加が含まれています。また、Also, the keysize limit for the Diffie-Hellmanアルゴリズムの鍵サイズの上限が1024bitから2048bitに増加しました。
    Java Cryptography Architecture Oracle Providers Documentation for JDK 8
    http://download.java.net/jdk8/docs/technotes/guides/security/SunProviders.htmlJava Cryptography Architecture Standard Algorithm Name Documentation for JDK 8
    http://download.java.net/jdk8/docs/technotes/guides/security/StandardNames.html

    Internationalization Enhancements

    以下の機能強化がJava SEの国際化機能に施されています。

    Installation of Custom Resources as Extensions

    java.util.spi.ResourceBundleControlProvider インターフェースを使うと、ResourceBundle.getBundle()メソッドのリソースバンドルのロード方式を変更することができます。ResourceBundleControlProviderはサービスプロバイダインタフェース(SPI)であり、これを使うと、簡単に拡張可能なアプリケーションを作成できます。元のコードベースを変更する必要はありません。
    Installing a Custom Resource Bundle as an Extension
    http://docs.oracle.com/javase/tutorial/i18n/serviceproviders/resourcebundlecontrolprovider.html

    New Calendar and Locale APIs

    JDK 8で新しくアップデートされたLocaleおよびCalendar APIは、Unicode Common Locale Data Repository (CLDR)プロジェクトの成果をサポートしています。APIのリストは以下のページからどうぞ。
    New Calendar and Locale APIs
    http://download.java.net/jdk8/docs/technotes/guides/intl/enhancements.8.html#api

    Tools Enhancements

    以下の機能強化がJDKで提供されるツールやユーティリティに施されています。

    Pack200 Engine Updates

    Java SE 8で、Javaクラスファイルフォーマットがアップデートされ、JSR 292(Supporting Dynamically Typed Languages on the Java Platform)によってもたらされた変更を反映しています。これにより、pack200エンジンはクラスファイルを効果的に圧縮するように適宜更新されてきました。特に、pack200エンジンは定数プールエントリおよびJSR292で導入された新しいバイトコードを認識するようになりました。その結果、pack200ツールのこのバージョンで作成された圧縮ファイルには旧バージョンのunpack200ツールとの互換性はありません。
    Pack200 Compression (Compression Formats for Network Deployment)
    http://download.java.net/jdk8/docs/technotes/guides/jweb/networking/compression_formats.html#pack200_compression

    Platform and System Support Enhancements

    以下の機能強化がプラットフォームやシステムのサポートに施されています。

    JDK 8 for Linux ARM

    JDK 8では provides support for ARMv7ベースのLinuxシステムをサポートします。Raspberry PiのようなARMv6ベースのシステム上では、実行できることはわかっていますが、完全にテストされていません。hard-floatアプリケーションバイナリインタフェース(ABI)のサポートがARM用JDK 8に追加され、soft-float ABIはサポートされなくなりました。Serviceability Agent (SA)がARM用JDK 8に追加されています。
    Serviceability in HotSpot
    http://openjdk.java.net/groups/hotspot/docs/Serviceability.htmljsadebugd - Serviceability Agent Debug Daemon
    http://download.java.net/jdk8/docs/technotes/tools/unix/jsadebugd.html

    Removed Features

    以下の機能や関連するドキュメントがJDK 8から削除されました。

    Upcoming Documentation

    以下の分野に関連する早期アクセスドキュメントはしばしおまち下さい。
    • Security Enhancements
      • Overhaul JKS-JCEKS-PKCS12 Keystores, JEP 166
      • MS-SFU Kerberos 5 Extensions, JEP 113
      • Limited doPrivileged, JEP 140
      • AEAD CipherSuites, JEP 115
      • Configurable Secure Random-Number Generation, JEP 123
    • Deployment Enhancements
      • Launch JavaFX Applications, JEP 153
      • Integrating JavaFX into the JRE and JDK
    • Networking Enhancements
    • Library Enhancements
      • Handle Frequent HashMap Collisions with Balanced Trees, JEP 180
      • JAXP 1.5: Restrict Fetching of External Resources, JEP 185
      • Concurrency Updates, JEP 155
      • Date & Time API, JEP 150
    • Language Enhancements
      • Access to Parameter Names at Runtime, JEP 118
      • Features Related to Lambda Expressions, JEP 126
        • Bulk Data Operations, JEP 107
        • Virtual Extension Methods
        • Enhance Core Libraries with Lambda, JEP 109
      • Nashorn JavaScript Engine, JEP 174
    • Tools and Other Enhancements
      • Doclint: javadoc and javac option to provide HTML compliance for Javadoc, JEP 172
      • Updating JVM Command Line Flags and Options
      • Optional Grouping: Provides different method views for generated Javadoc documentation
      • 64-bit Unsigned int Data Type
      • Compact Profiles, JEP 161
    • Removed Features: The documentation for these features will be removed in upcoming early access documentation updates:
      • Removal of ActiveX Bridge

    [Java] Java SE 7 Update 40 Released

    原文はこちら。
    https://blogs.oracle.com/java/entry/java_se_7_update_40

    Java SE 7 Update 40がダウンロードできるようになりました。
    Java SE Downloads (Java SE 7 Update 40)
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    Java SE 7 Update 40 (7u40)の機能および強化ポイントは以下の通りです。
    • 開発者がシステムパフォーマンスを損なわずに詳細のランタイム情報を収集し、効率的なデータ分析を実現できる詳細な監視・診断機能
    • システム管理者がデスクトップで実行するJavaの管理をより幅広くコントロールできる新しいセキュリティポリシー
    • ARMサーバー上でのJavaの性能や効率を向上
    • Mac OS X retinaディスプレイのサポート
    • (当然ですが)不具合の修正や機能強化
    以下にリンクをまとめました。

    Java Mission Control

    Java Mission Controlは監視、管理、プロファイリング、Javaアプリケーションでのメモリリークの除去のためのツールセットです。Java Mission ControlはJava Flight Recorderとあわせて使うことで、継続的に低レベルかつ詳細なランタイム情報を収集し、問題発生後のインシデント分析を可能にする完全なツールセットを構成します。
    Java Mission Control
    http://www.oracle.com/technetwork/java/javaseproducts/mission-control/index.html
    Java Mission Control (JMC) 5.2 Release Notes
    http://www.oracle.com/technetwork/java/javase/2col/jmc-relnotes-2004763.html
    Demo

    Deployment Rule Set

    Deployment Rule SetはJDK 7u40の新しいセキュリティ機能で、これを使うと、どのappletやJava Web Startアプリケーションをエンドユーザーが実行を許可しているのか、どのバージョンのJava Runtime Environment(JRE)がこれらのappletやJava Web Startアプリケーションに関連付けられているのかをシステム管理者が完全に管理することができます。Deployment Rule Setは管理されたセキュアな方法で従業員のアクセスを管理するための共通環境を提供します。詳細は以下のリンクからどうぞ。
    Deployment Rule Set
    http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/deployment_rules.html
    Introducing Deployment Rule Sets (Java Platform Group, Product Management blog)
    https://blogs.oracle.com/java-platform-group/entry/introducing_deployment_rule_sets

    [Java] JDK 8 Developer Preview

    原文はこちら。
    http://mreinhold.org/blog/jdk8-preview

    JDK 8 Developer Preview(Milestone 8)ビルドがご利用頂けるようになりました。
    JDK 8
    http://openjdk.java.net/projects/jdk8/
    Developer Preview (JDK 8 Milestones)
    http://openjdk.java.net/projects/jdk8/milestones#Developer_Preview
    JDK™ 8 Developer Preview 8 Build b106
    http://jdk8.java.net/download.html
    このマイルストンは開発者の方々に広くテストしてもらうことを目的としています。これまでOracleがサポートする全てのプラットフォームでテストしてきて目立った問題は出ていません。6月のFeature Completeマイルストン以後の数多くの不具合も修正してきました。
    Feature Complete (JDK 8 Milestones)
    http://openjdk.java.net/projects/jdk8/milestones#Feature_Complete
    このリリースの主要機能はProject Lambda(JSR 335)で、これはマルチコアプロセッサ用のコードをより簡単に記述できるようにすることを目的としています。
    Project Lambda
    http://openjdk.java.net/projects/lambda/
    JSR 335: Lambda Expressions for the JavaTM Programming Language
    http://www.jcp.org/en/jsr/detail?id=335
    ラムダ式、デフォルトメソッド、Javaプログラミング言語へのメソッド参照を追加し、ストリームデータを並列処理できるようライブラリを拡張しています。
    もちろん、そのほかにもたくさんの新機能があります。例えば新しいDateとTime API(JSR 310)、Compact Profiles、Nashorn JavaScript Engine、そして機能ではありませんが、HotSpot VMからPermGenがなくなったりしています。
    JSR 310: Date and Time API
    http://www.jcp.org/en/jsr/detail?id=310
    Profiles (JSR 337: Java SE 8 Early Draft Review Specification)
    http://cr.openjdk.java.net/~mr/se/8/java-se-8-edr-spec.html#profiles
    Project Nashorn
    http://openjdk.java.net/projects/nashorn/
    JEP 122: Remove the Permanent Generation
    http://openjdk.java.net/jeps/122
    完全な新機能リストは以下のページからどうぞ。
    JDK 8 Features
    http://openjdk.java.net/projects/jdk8/features
    JDK 8の進化をこれまで見てこられた方なら、このビルドをダウンロードし、試す絶好のタイミングです。早いに超したことはありません!みなさんがお使いのコードがJDK 8でコンパイルされず、うまく動作しない場合や、以前より性能が落ちた場合、JVMがクラッシュした場合、新しい言語やAPI機能に残っている設計上の問題がある場合にはお知らせ下さい。
    今後10月末までの間、皆様から通常のバグレポートチャネルを通じてお寄せ頂いたフィードバックを可能な限り読み、評価し、対応する予定です。
    Report a Bug or Request a Feature
    http://bugreport.sun.com/bugreport/
    その後、徐々に変更の比率を下げ、コードを安定化する予定です。それゆえ、以後のバグ報告はGAリリースに間に合わない可能性があります。
    General Availability (JDK 8 Milestones)
    http://openjdk.java.net/projects/jdk8/milestones#General_Availability

    [Database, Exa*] Exadata Database Machine 11.2.0.4 Grid Infrastructure and Database Upgrade

    原文はこちら。
    https://blogs.oracle.com/XPSONHA/entry/exadata_database_machine_11_2

    My Oracle Supportで、2013年9月3日(US時間)、次の2個のNoteがご覧いただけるようになっています。これはOracle Exadata Database Machineで動作している11.2 Grid InfrastructureとDatabaseを11.2.0.4へアップグレードする際に考慮すべきことをまとめたものです。

    [訳注]
    My Oracle Supportへアクセスするにはアカウントが必要です。

    [FMW] Announcing new MAA paper - Oracle Traffic Director Disaster Recovery!

    原文はこちら。
    https://blogs.oracle.com/WebLogicServer/entry/announcing_new_maa_paper_oracle

    MAA(Maximum Availability Architecture)のホワイトペーパーがOTNからダウンロード頂けます。今回のテーマはOracle Traffic DirectorのDisaster Recoveryです。
    Disaster Recovery Solution for Oracle Traffic Director
    Oracle Maximum Availability Architecture White Paper
    September 2013
    http://www.oracle.com/technetwork/database/availability/maa-oracletrafficdirector-dr-2008165.pdf
    このホワイトペーパーでは、Oracle Traffic Directorの、Oracle MAAのアーキテクチャ原則に基づいた災害からの復旧ソリューションを説明しています。

    Oracle Traffic Directorは高速、高信頼性、高拡張性を備えるLayer 7ソフトウェアロードバランサであり、貴社ネットワーク内の、全てのTCP、HTTP、HTTPSのアプリケーションサーバーやWebサーバーへのネットワークトラフィックの信頼できるエントリポイントとして展開することができます。
    製品のデータシートは以下からどうぞ。
    Oracle Traffic Directorデータシート
    http://www.oracle.com/us/products/middleware/application-server/oracle-traffic-director-ds-1389582.pdf

    [FMW] ePub、mobiの両フォーマットに対応したFusion Middleware 11gR1 (11.1.1.7)の日本語ドキュメント

    ご存知の方もいらっしゃるかもしれませんが、おしらせです。
    Fusion Middlewareの日本語ドキュメントは、PDF、HTML形式に加え、11.1.1.6(PS5)より、タブレットなどでもご覧いただきやすいePub、mobiの形式でも公開されています。

    このたび、11.1.1.7(PS6)のドキュメントもePub、Mobi形式に対応したものが公開されました。
    Oracle® Fusion Middleware ドキュメント
    http://www.oracle.com/technetwork/jp/middleware/fusion-middleware/documentation/index.html
    これで、11.1.1.6(PS5)、11.1.1.7(PS6)、12.1.1の日本語ドキュメントがePub、Mobiの形式でもご覧いただけるようになりました。

    # 12.1.2はまだですけど…

    是非お役立て下さいませ。