Java

Raspbian に Java 9 をインストール

Raspbian の Oracle Java 8 のバージョンを確認してみます。 $ sudo -s # apt update # apt search oracle-java8-jdk oracle-java8-jdk/stable 8u65 armhf Java™ Platform, Standard Edition 8 Development Kit 合わせて、OpenJDK の方も確認してみます。 # …

スレッド数を CloudWatch のカスタムメトリクスとして Publish する

micrometer を使ってスレッド数を CloudWatch のカスタムメトリクスとして Publish してみました GitHub - takesection/micrometer-cloudwatch-example // https://mvnrepository.com/artifact/io.micrometer/micrometer-registry-cloudwatch libraryDepende…

スレッド数を CloudWatch のカスタムメトリクスとして Publish する

Amazon CloudWatch の概念 - Amazon CloudWatch package jp.pigumer.monitor; import com.amazonaws.services.cloudwatch.AmazonCloudWatchAsync; import com.amazonaws.services.cloudwatch.AmazonCloudWatchAsyncClientBuilder; import com.amazonaws.serv…

Java 9 - JAXB が java.lang.NoClassDefFoundError

Java 9(JDK 9)をインストール後、sbt プラグインの内部で JAXB を使っているところで、java.lang.NoClassDefFoundError が発生したのでその対応メモ SBT_OPTS="--add-modules java.se.ee" sbt

Spring Boot の auto-configuration の作り方

バージョン情報 Spring Boot 1.4.2.RELEASE 作り方 auto-configuration の作成方法は、リファレンスの 43. Creating your own auto-configuration に書かれています。 リファレンスの説明にある通り、spring-boot-autoconfigure と spring-boot-starter の2…

JAXB の Marshaller

JAXB の marshal 時に XML 宣言を生成しないようにする Java SE 6の Javadoc にも記述されていますが、 XML 宣言を出力したくない場合は、プロパティ jaxb.fragment の値を true にします。 jp.pigumer.Data package jp.pigumer; import javax.xml.bind.anno…

Gradle の compile で OutOfMemoryError が発生したときにしたこと

stackoverflow の記事を参考に、gradle.build に下のような記述を追加して対応しました。 compileJava { options.fork = true options.forkOptions.setMemoryMaximumSize("4g") }

Spring Boot 1.4.1 - Controller

Controller Thymeleaf については次のリンクを参照してください。 http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf_ja.html Thymeleaf を Spring Boot で使えるようにするために、build.gradle の dependencies に次の行を追加します。 compile(…

Spring Boot 1.4.1 - RestController

1. Hello World コントローラクラスを作成します。 最初にテストを記述します。 package com.example; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframewo…

Azure IoT HubのMQTT(s)

環境 Java 8 org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2 MQTTに接続するユーザ名とパスワード ユーザ名 {iothubhostname}/{device_id} パスワード SharedAccessSignature sig={signature-string}&se={expiry}&sr={URL-encoded-resourceURI} Str…

Jackson

Jacksonを使って、Java Objectをjsonに変換する場合のコードです。Java Objectはpublicのフィールドがあればgetterはなくてもよいです。 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(bean); jsonには、beanのプロパ…

Javaアプリケーションのリモートデバッグ

Spring Bootアプリケーションをリモートデバッグしたときのメモ $ java -agentlib:jdwp=transport=dt_socket,server=y,address=8000 -jar application.jar IDE等から、8000ポートにデバッグ接続します。 JPDAの接続および呼出し

Gradleでのプロパティファイルの拡張(expand)

Spring Bootアプリケーションで、検証環境と本番環境とでプロパティの値を変更するためのビルドスクリプトを書いてみました。 GradleのドキュメントとSpring Bootのリファレンスを参考にしています。 ここでは、例としてspring.profiles.activeの値を設定し…

Eclipseでdoma2を使うためのGradleの設定

Version Spring Boot - 1.3.2.RELEASE doma-spring-boot - 1.0.1 Gradleのビルドスクリプト EclipseのAPT処理を有効にして、doma2によるAPT処理ができるようにbuild.gradleで設定します。 buildscript { repositories { mavenCentral() } dependencies { cla…

Spring BootアプリケーションでDB2を使用する設定

Version Spring Boot - 1.3.2.RELEASE doma-spring-boot - 1.0.1 Application Properties doma.dialect=DB2 spring.datasource.url=jdbc:db2://[HOST]:[PORT]/[DATABASE]:currentSchema=[SCHEMA]; spring.datasource.driver-class-name=com.ibm.db2.jcc.DB2D…