yanom blog

様々な技術について書きます

Java

実践テスト駆動開発 を読んでる

ちょっと、仕事が忙しくて更新できてませんでしたが、今は実践テスト駆動開発を読んでいます。 まだ、半分くらいなので、また読んだら感想を追記します。 目次 第1章 テスト駆動開発のポイントとは? 第2章 オブジェクトをテスト駆動開発する 第3章 ツール紹…

サーブレットでDBに繋ぐときにハマったこと

tomcat上で動作する、いわゆるサーブレットアプリでPostgreSQLに繋ぐ際にハマったのでメモです。 簡単に言うと、tomcatからもドライバーが見えるようにしてあげないとだめです。 そのための方法は以下2つです。 ソース内で指定する方法 Class.forName("org.p…

外部の設定ファイルを使う [log4j2]

log4j2の設定ファイルを、クラスパス外から読み込ませる方法が分からず少し困ったので、自分用にメモを残しておきます。 設定方法 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Main { private Logge…

アプリ終了時のログが出力されない [log4j2]

仕事でlog4j2を使ってログ出力していたときの話ですが、アプリを終了した際にログが出力されずに困っていました。 具体的には以下のような感じです。 //終了時に実行される log.info("end app..."); //これは出力される //色々終了処理 log.info("finish..."…

MockServerClientでAPIサーバをモックする

自分用メモです。 javaでhttpをテストする時、以下のようにモックを使います。 //import import org.mockserver.client.server.MockServerClient; import org.mockserver.junit.MockServerRule; import org.mockserver.model.Header; import org.mockserver.…

AkkaのCancellableインターフェースについて

スケジューラーのキャンセルについて、自分用のメモです。 参考 The Cancellable interface Cancellable can = getContext().getSystem() .scheduler() .scheduleOnce(Duration.ofSeconds(timeout), hogeActor, "cancel", getContext().getDispatcher(), get…

JavaでHTTPするときのRetryができるクライアントまとめ

個人用メモとして記事にしておきます。 httpのリクエストが500系エラーなどになった場合に、リトライ処理についてまとめます。 google http client Exponential Backoff ExponentialBackOff backoff = new ExponentialBackOff.Builder() .setInitialInterval…

AkkaでGraceful Shutdownのやり方

自分用にメモを残しておきます。 参考 coordinated shutdown シャットダウン時に処理を行う CoordinatedShutdown.get(system) .addTask( CoordinatedShutdown.PhaseBeforeServiceUnbind(), "someTaskName", () -> { return akka.pattern.Patterns.ask(someAc…

log4j2を使うときにハマった

はじめに 最近Javaのアプリを作っています。 そのアプリ内でログ出力部分を作っていて、log4j2のライブラリを使おうとした際に少しハマったので、記事にしておきます。 エラー内容 gradleで依存関係を追加し、アプリを実行した際以下のようなエラーが発生し…

syslogにアプリログをlog4jを使って送信する

syslogにJavaのlog4jでログを送信するためのメモです。 環境 $ cat /etc/os-release NAME="Ubuntu" VERSION="16.04.4 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.4 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/…

dockerでJavaの動作確認

仕事でJavaを使うことになったので、dockerで環境構築していきます。 手順は以下です。 docker イメージをpullする 簡単な動作確認 簡単なプログラムを作成し、動作確認 dockerイメージをpullする 今回はopenjdkを使用します。 Oracle版は以下を参考にしたら…