2月頭に著者のきしださんとスウェーデンへ行った時に、毎日進捗を確認したおかげか、著者から献本をいただきました。 献本いただきました~。前書きから涙なしでは読めない!!#minjava pic.twitter.com/NKIYx38ofN— いとうちひろ(Chihiro Ito) (@chiroito) …
システムを運用する時や検証する時にオシャレなGUIで状況を確認したいことはないでしょうか。Infinispan 10にはこの様な要求を実現する機能が含まれています。今回はその機能を使って Grafana でオシャレなダッシュボードを作れるようにするところまで紹介し…
ここでは、Infinispan 10 のログレベルを変更する方法を紹介します。通常の動かし方と公式コンテナを使った場合の2通りを紹介します。 プロセスを起動する場合 以下の流れでログレベルを変更します。 ログファイルを編集 infinispan Server を起動 設定ファ…
これは何? 今回、パッチを書いたのはJDK-8219904のClassCastException when calling FlightRecorderMXBean#getRecordings()です。 [JDK-8219904] ClassCastException when calling FlightRecorderMXBean#getRecordings() - Java Bug System これはJMXのリモ…
これは何? 今回、パッチを書いたのはJDK-8222489のjcmd VM.system_properties gives unusable paths on Windows。 [JDK-8222489] jcmd VM.system_properties gives unusable paths on Windows - Java Bug System Java 14までにはjcmd <PID> VM.system_properties</pid>…
2020年2月3日~5日にスウェーデンのストックホルムで開催される VM Tech Summit と Jfokus に参加してきました。私としては初ヨーロッパでもちろん初北欧なわけですが、経由地であるフィンランドのヘルシンキも含め雪がなく、札幌と比べて暖かかったです。 w…
もともとこんな感じで同期で作っていたので「es.start()の部分をes.startAsync()にしたら非同期になるだろ」と思いやったらイベントが全然処理されない。 import jdk.jfr.Configuration; import jdk.jfr.consumer.EventStream; import jdk.jfr.consumer.Reco…
QuarkusはデフォルトではOpentracingを利用していませんが、拡張機能(extention)を追加して設定を少しするだけでOpentracingを利用できるようになります。 Opentracingの追加 Opentracingの拡張機能を利用するにはmvn quarkus:add-extensionに-Dextensionsで…
Quarkusのデバッグポートはデフォルトでは5005ですが、これを変えるには起動時(mvn compile quarkus:dev)に-Ddebugを指定します。 ポート番号を1234に変更する方法は以下の通りです。 mvn compile quarkus:dev -Ddebug=1234 以下のログが出れば変更成功です…
QuarkusでSwagger UIを見るには拡張機能としてSmallRye OpenAPIを追加します。 Swagger UIへのアクセスはホスト名にswagger-uiを追加するとアクセスできるようになります。 拡張機能を追加する方法は以下の3つあります。 https://code.quarkus.io/で作成時に…
src/main/resources/application.propertiesにquarkus.http.portを指定します。 ポート番号を80に変更する方法は以下の通りです。 quarkus.http.port=80
Jfokusとはスウェーデンのストックホルムで開催されるカンファレンスです。 www.jfokus.se 2018年にじゅくちょーが参加されたレポートはこちら。 www.sakatakoichi.com 日時 Jfokus 2020は2020年2月3日(月)から5日(水)に開催されます。 この前に2月1日(土)~…
OpenJDK の開発環境を E3-1265 V2 から i9-9900K へ変えてみたのでビルド時間を計ってみました。 ※i5-9400H のCPUもゲットしたので表でだけ性能を追加しました。 それぞれの性能はこんな感じです。 プロセッサ名 物理コア数 ベース動作周波数 ターボブースト…
Windows 上で Windows Subsystem for Linux (WSL) を使用して OpenJDK 14 の Windows バイナリをビルドする方法をまとめます。 やりがちですが、Windows Subsystem for Linux (WSL)側のUbuntu 側で hg するのは必須ではありません。(やった) Windows側で好…
エンタープライズで使われるミドルウェアを使うためには、環境が使えるようになるまで構築に膨大な時間がかかるほか、開発用途などでちょっと使うだけで莫大なライセンス料がかかります。 クラウドが当たり前になって、ライセンス料が非常に安価になって触り…
自分が使うコマンドをうっかり忘れるときがあるのでその備忘録のために、開発の流れとそこで使ってる内容をメモ。 公式のガイドはこちらを参考にしてください。The OpenJDK Developers' Guide – Index OpenJDK の開発は以下のような流れで行います。 バグを…
はじめに システムを運用するときは、ログやメトリックをモニタリングします。オンプレのシステムでは決まった台数を監視すれば良いことが多いです。また、ストレージが書き込める限り、あとからストレージからログやメトリックを収集できます。クラウドでは…
/ の領域が足りなくなってきてしまったけど、仮想マシンからデタッチして、他の仮想マシンにアタッチ・マウントしてからサイズ増やして、また戻してからマウントするの面倒臭いなと2ヶ月ぐらい思っていたら、growpartというツールでマウントしたままパーティ…
OpenJDK のビルドやテストは時間が非常に掛かるので、クラウド上で大量の CPU リソースを使って短時間化できないかを試してみました。 今回作った環境に自分で書いたパッチを置いて Terraform を実行すると、あとはクラウド上で大量のリソースを使ってビルド…
Java のコードをデバッグ実行するには-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=127.0.0.1:12345みたいな感じのを付けます。これを使って OpenJDK の Java 部分のデバッグができるだろうなと思って試してみました。 jtreg で実行する…
Java Bug System を見ていたら JShell 自体のデバッグを見つけたので、パッチを書こうと思いJShellについて調べてみた。 使い方や 2 つの JVM が動くぐらいは知っていたけど、具体的には知らないので調べてみました。 試しにjshellコマンドを実行してからjmc…
VirtualBox 上で動かしている Linux が yum のキャッシュのせいで時折ディスクフルになっていた。これまでは毎回yum clean allでキャッシュを消してたけど、根本原因を探ってみた。 yum-cronなるものがあると定期的にyumを実行するようだ。 # rpm -qa | grep…
Terraform を使って以下のような構成の Oracle Cloud Infrastructure を構築してみました。 Terraform で作成する環境 設定を以下の 4 つに分けて紹介します。 パラメータ OCI プロバイダの設定 インフラの設定 インスタンスの設定 パラメータは terraform.a…
Oracle Cloud Infrastructure (OCI) で Terraform へ入門するため準備とその確認を以下の手順でしていきます。 Terraform のダウンロード OCI を使った Terraform ファイルを作成 Terraform の初期化 OCI プロバイダの実行 Oracle Cloud Infrastructure の T…
この記事はOracle Cloud Advent Calendar 2018 - Adventar」の12月22日の記事として書かれています。 今回やること これまで仕事で散々 IoT やストリーム処理をしてきたので簡単に作ってみたいと思います。 作ってみたシステムは下図のように東京メトロさん…
この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月10日の記事として書かれています。 セキュリティ・リストで入力方向の通信を設定をします。 変更することは滅多に無いものの、設定画面までの遷移が非常に長いのでいざ変更しようと思うと大変で…
チャットボットを使ったシステムでは、フロントエンドのインターフェースとしてユーザが使い慣れた Facebook Messanger や LINE をインターフェースとして使うことが多いです。 Oracle Degital Assistant は様々なメッセージアプリをフロントエンドとして使…
この記事はOracle Cloud Advent Calendar 2018 - Adventarの12月8日の記事として書かれています。 大きなファイルのアップロードにはマルチパートアップロードが有効です。今回はOracle Cloudのオブジェクトストレージにファイルをマルチパートアップロード…
この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月7日の記事として書かれています。 Oracle Degital Assistant で作ったチャットボットをExportしてみましょう。 チャットボットの一覧画面でエクスポートしたいチャットボットのメニューを選択し…
この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月6日の記事として書かれています。 Oracle Digital Assistant は外部の翻訳サービスを使って翻訳できます。 本例では、Google翻訳を使用して翻訳します。事前に Google Cloud Platform で Google…