BLOGTIMES
» ArchiveList (Tag for "java" )
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»
2019/04/17

Oracle クリティカルパッチアップデートに注意(2019 年 4 月)

oracle  java  licence 

Oracle が定例のクリティカルパッチアップデートを出しました。
ちなみに Oracle JDK は 4/16 よりライセンスが改訂されて、個人利用・開発目的のみという使途制限がついている*1ので注意が必要です。

参考

商用利用をしている場合の OpenJDK 等への移行対応については以下が参考になります。


at 20:14 |
2019/03/14

Tomcat で OutOfMemoryError が出たときに自動で再起動させるようにする

java  tomcat 

Tomcat を長時間起動していると、メモリリークなどで OutOfMemoryError が出ることがあります。

これについてはログを監視して、デーモンを再起動させてやらないと対処できないと思っていたのですが、8u92 で追加された ExitOnOutOfMemoryError もしくは CrashOnOutOfMemoryError に関する JVM オプションをつけてあげれば、OOM が出たときに JVM が死ぬようにできることが分かったのでメモ。systemd などと組み合わせれば勝手に蘇らせてもらえるので対処も楽ちんですね。

Java™ SE Development Kit 8, Update 92 Release Notes

New JVM Options added: ExitOnOutOfMemoryError and CrashOnOutOfMemoryError
Two new JVM flags have been added:
  • ExitOnOutOfMemoryError - When you enable this option, the JVM exits on the first occurrence of an out-of-memory error. It can be used if you prefer restarting an instance of the JVM rather than handling out of memory errors.
  • CrashOnOutOfMemoryError - If this option is enabled, when an out-of-memory error occurs, the JVM crashes and produces text and binary crash files (if core files are enabled).

See JDK-8138745.

具体的には JVM オプションに以下のいずれかの指定を入れてやればOKです。

-XX:+CrashOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError

参考


    at 17:47 |
    2019/02/11

    PureJava で実装された FTP/SFTP/WebDAV サーバ「CrushFTP」

    ftp  ssh  java 

    外部とちょっとしたファイルのやりとりなどをするときに HTTPS や FTPS や SFTP, WebDAV などのマルチプロトコルに対応したファイル転送サーバがあると便利です。

    これらのサーバは OSS を使って個別になら比較的簡単に実現することができますが、全てのプロトコルからファイルが同じように見えて、かつ、これらのアカウント管理が統合されており、さらに、運用の手間がかからないような GUI があるといいなぁということになると一気にハードルが上がってきます。

    さすがにそんなに都合のよいものは OSS には存在しなくて、有償の CrushFTP というプロダクトにたどりつきました。

    CrushFTP - Enterprise Grade File Transfer for Everyone

    CrushFTP is an extremely powerful, easy to use solution that runs on almost everything: OS X 10.5 - 10.9+, WinXP - Win2012+, Linux, Solaris, BSD, Unix, etc!

    複数の OSS ではなくPureJava で実装された単一のプロダクトなので、全てのサービスを一体的に運用することが可能です。
    有償と言ってもSmall Business は 50 同時アクセスで $70 なので、リーズナブルではないかと思います。


      at 20:31 |
      2019/01/16

      Oracle クリティカルパッチアップデートに注意(2019 年 1 月)

      java 

      3ヶ月に一度の Oracle クリティカルパッチアップデートが出ていました。
      Java 8 系は8u201 もしくは 8u202、11 系は 11.0.2 にアップデートされます。


        at 23:48 |
        2018/12/21

        証明証と鍵を .jks にしてみたら、.p12 をオススメされた

        ssl  java 

        SSL 証明書と秘密鍵を Java のプログラムから使うために、keytool を使って .p12 (PKCS#12) 形式から .jks 形式に変換してみたら .p12 形式を勧められるというオチだったのでメモ。

        .p12 → .jks の変換自体は以下のコマンドで実行可能ですが、最後の Warning の部分に注目
        JSSE の部分を読むと、.p12 へは書き込みができないように読めるのですが、基本はこちらが推奨なんでしょうか。

        $ keytool -importkeystore \ > -srckeystore hoge.p12 \ > -srcstoretype pkcs12 \ > -destkeystore hoge.jks \ > -deststoretype jks \ > -deststorepass 'jks_password' キーストアhoge.p12をhoge.jksにインポートしています... ソース・キーストアのパスワードを入力してください: (hoge.p12 のパスワード) 別名example.jpのエントリのインポートに成功しました。 インポート・コマンドが完了しました: 1件のエントリのインポートが成功しました。0件のエントリのインポートが失敗したか取り消されました Warning: JKSキーストアは独自の形式を使用しています。"keytool -importkeystore -srckeystore hoge.jks -destkeystore hoge.jks -deststoretype pkcs12"を使用する業界標準の形式であるPKCS12に移行することをお薦めします。

          at 12:48 |
          2018/11/19

          AWS が OpenJDK の LTS を無償で提供する?

          java  aws 

          AWS が独自の OpenJDK の LTS を無償で提供するという「Amazon Corretto*1を発表しています。

          JDK 11 からは Oracle のライセンス変更により、本番利用では有償サポート契約が必須となりました。
          このため、乗り換え先を探している人にはこの Amazon Corretto は朗報ですね。

          ちなみに以下のエントリを読んで Java の開発者である James Gosling が現在は AWS に所属していることを始めて知りました。

          AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供 - Publickey

          Corretto 8は少なくとも2023年6月まで、Corretto 11は少なくとも2024年8月までセキュリティアップデートが提供される予定です。
          Correttoは現在プレビュー版で、正式版は2019年4月に提供開始予定。そのときには対応LinuxとしてAmazon Linux 2だけでなくUbuntuとRed Hat Enterprise Linuxも加わる見通しです。


          at 20:35 |
          2018/10/17

          Oracle クリティカルパッチアップデートに注意(2018 年 10 月)

          java  oracle 

          Oracle から定例のクリティカルパッチアップデート (CPU) が出ています。

          これにより Java は 8u191 / 8u192 もしくは 11.0.1(LTS) にアップデートされます。
          Java 11 のバージョンは u### という表記がなくなり、一般的な3桁のバージョン番号体系になるんですね。

          参考

          2018年10月 Oracle 製品のクリティカルパッチアップデートに関する注意喚起


            at 20:12 |
            2018/10/04

            初の LTS 版 JDK 11 がリリースに

            java 

            JDK 11がリリース*1されていました。
            Java のリリースサイクルが変更されてから初めての LTS 版ですね。
            通常のリリースはサポートが半年だけですが、この LTS 版のサポート期間は3年間なので、実運用環境では必然的にこちらを使うということになると思います。

            「JDK 11」リリース、初となる長期サポート(LTS)版 | OSDN Magazine

            Java Community Process(JCP)で策定されたJSR 384仕様に基づくもの。Oracleは先にリリースサイクルの変更を発表しており、2018年3月より6か月おきにリリースを行うことになっている。この一環として、サポート期間が8年以上のLTSを3年に1回公開することになっている。Java 11はそれに基づいてリリースされる初のLTS版となる。

            at 21:23 |
            2018/07/18

            Oracle クリティカルパッチアップデートに注意(2018 年 7 月)

            java  jpcertcc 

            Oracle クリティカルパッチアップデートが公開されていたのでメモ。
            Java は 10.0.2 もしくは 8u181 にアップデートされます。


              at 22:42 |
              2018/06/08

              CentOS7 で tzdb.dat がないと怒られる

              java  centos7 

              CentOS 上で openjdk 1.8 を使っているのですが、ウェブアプリが tzdb.dat がないといって起動しないので困ってしまいました。

              Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64/jre/lib/tzdb.dat (そのようなファイルやディレクトリはありません)

              とりあえず、以下のようにシンボリックリンクを張ったらエラーが消えましたが、対処法がこれで良いのかは気になります。

              cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64/jre/lib/ ln -s /usr/share/javazi-1.8/tzdb.dat .

                at 22:12 |
                «Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»
                » ArchiveList (Tag for "java" )