JavaOne 2016 まとめ (主に Java EE 関連)

注意

自分は JavaOne 2016 に行ってません。
Twitterなどから拾った情報を適当に自分用にまとめているだけなので、誤報にご注意ください。

Java EE

  • Java EE 8 は 2017年末にリリース
    なる早で提供できる状態にすることにフォーカス

  • Java EE 9 は 2018年にリリース (まさかの2年連続)
    クラウド、マイクロサービスにフォーカス (WildFly Swarm や Payara Micro のような ubarjar でのアプリケーションパッケージングが標準化されるのか?)

  • MVC, JMS2.1, Management 2.0 は Java EE から完全ドロップの方針?
    現在はユーザからの意見を募集中(MLやアンケートなど?)で、状況次第では方針が変わる(戻ってくる)可能性あり!?

  • Java EE に 新たに Configuration と HealthCheck が追加
  • Java EE 8 の RI (参照実装) は GlassFish v5
  • Java EE で KVS のデータストアをサポート

その他

YosemiteでGlassFishが起動できない問題への対処

Macのlaunchctlコマンドで、Yosemite以降?で、bsexecオプションが無くなったとかで、4.1以前のGlassFishが以下のメッセージを吐いて、起動できなくなているっぽいです。

JVM failed to start: com.sun.enterprise.admin.launcher.GFLauncherException: The server exited prematurely with exit code 1.
Before it died, it produced the following output:


Command start-domain failed.

この問題は、JIRAのチケットでも上がっていて、4.2で修正されるようです。(2015/07/15現在はまだリリースされてない)
因みに、4.2では launchctl ではなく、 nohup を使用するように修正されるようです。詳細は以下のチケットを見てください。
[GLASSFISH-21343] Glassfish fails to start on OSX 10.10.3 - Java.net JIRA

4.2が出るまではしかたがないので、launchctlコマンドのプロキシとなるスクリプトを用意して、bsexecオプションの場合には、nohupコマンドを叩くようにして回避します。

どっか適当なところ(GlassFishの起動ユーザのホームディレクトリとか)に、binディレクトリ掘って、以下のスクリプトを置いときます。パーミッションを755にするのも忘れずに。

#!/bin/bash
if [[ ${1} == "bsexec" ]]; then
    nohup ${@:3}
else
    /bin/launchctl ${@}
fi

あとは、このスクリプトを置いたディレクトリへのパスを.bash_profileとか.profileとかで通しておけば、GlassFishが起動できるようになってます。

参考文献:medium.com

はじめまして。

なんでもいいから、情報を発信したいということで始めます。 昔は自分のサイトでもブログをやってたりましましたが、サーバやCMSの面倒を見るのが面倒になったので、Hatenaにお世話になることにしました。

一応テーマとしてはアプリ開発、特にWeb系の技術ブログにしたいなと思っております。 多分JavaJava EE のことについて書くことが多くなるのではと思います。

何かお気づきの点などあれば、コメントいただけますと幸いです。