CLOVER🍀

That was when it all began.

Docker Engine(Linux)でコンテナからホスト側のサービスにアクセスする(host.docker.internal)

これは、なにをしたくて書いたもの? Docker Desktopには、host.docker.internalというホスト側のIPアドレスを参照する仕組みがあるようです。 Networking features in Docker Desktop for Windows / Features / Use cases and workarounds / I want to conn…

Spring Batch × Spring Integration(Spring Batch Integration)を試す

これは、なにをしたくて書いたもの? Spring Batchのドキュメントを見ていて、Spring Integrationと組み合わせられそうだったので、ちょっと試してみようかなと。 Spring Batch Integration Spring Batchと、Spring Integrationの組み合わせについては、こち…

Spring Boot Actuatorでデータストア(JDBC、Redis)を含んだヘルスチェックを行う

これは、なにをしたくて書いたもの? Spring Boot Actuatorのヘルスチェックを行う時に、一緒にデータストアなどのヘルスチェックも行ってくれるようなので、 ちょっと見てみました。 Spring Boot Actuator/Health Information そもそも、Spring Boot Actua…

SSH経由でファイルシステムをマウントするSSHFSを、Ubuntu Linux 20.04 LTSで試す

これは、なにをしたくて書いたもの? SSHFSという、SSHとFUSE(Filesystem in Userspace)を使用したネットワークファイルシステムのマウントができる仕組みがあることを 知ったので、ちょっと試してみようかな、と。 SSHFS SSHFSのリポジトリはこちら。 Git…

Ubuntu Linux 20.04 LTSでホスト名を(永続的に)変更したい

これは、なにをしたくて書いたもの? Linuxのホスト名の変え方を、ちゃんと見てきていなかったので、この機会にちょっと見ておきたいな、と。 hostnamectlかnmcli general hostnameのどちらかを使って変更するのが良いみたいですね。 環境 環境は、Ubuntu Li…

Spring Boot(JobLauncherApplicationRunner) × Spring BatchとJobParametersIncrementerの動作を確認してみる(+JsrJobParametersConverter)

これは、なにをしたくて書いたもの? Spring BootとSpring Batchを合わせて使っている時の、JobParametersIncrementerの立ち位置がちょっと気になりまして。 JobParametersIncrementer JobParametersIncrementerについては、こちらに書かれています。 Config…

Spring IntegrationのJDBCサポートを使って、データベースポーリングを試してみる

これは、なにをしたくて書いたもの? Spring Integrationで、JDBCを使ったデータベースポーリングをサポートしているというので、ちょっと試してみました。 Spring IntegrationのポーリングとJDBCサポート Spring Integrationでは、ポーリングの機能がありま…

Spring IntegrationのGatewayを試す

これは、なにをしたくて書いたもの? 少し前に、Spring Integrationを試してみました。 Spring Integrationを試してみる - CLOVER 他にドキュメントを読んでいて、Gatewayを使ってみないと全体のイメージが掴めない気がするので、1回試してみようかなと。 Ga…

Docker Compose V2をインストールする

これは、なにをしたくて書いたもの? Docker Compose V2がGAになったというので、こちらに移ろうかな、ということで。 Announcing Compose V2 General Availability - Docker Docker Compose V2について Docker Compose V2のGAをアナウンスしているブログは…

Spring Batchで、Bean ValidationとItemのスキップの動作を確認する

これは、なにをしたくて書いたもの? Spring BatchとBean Validationを組み合わせて、Itemのバリデーションをしたり、NGになったItemをスキップできたりするというので ちょっと試してみようかなと。 Spring BatchとBean Validation Spring BatchでBean Vali…

MySQL Connector/JとCharacter Set/Character Set Results/Connection Collationとの設定、関係がよくがわからなかったので調べてみる

これは、なにをしたくて書いたもの? MySQLのJDBCドライバー、Connector/JのcharacterEncoding、characterSetResults、connectionCollationあたりの説明を見ていて、 不思議な感じがしたので調べてみることにしました。 MySQL :: MySQL Connector/J 8.0 Deve…

はじめてのSpring Batch

これは、なにをしたくて書いたもの? Spring Batchについて、ちょっと見ておこうかな、ということで。 Spring Batch Spring Batchのページはこちら。 https://spring.io/projects/spring-batch ドキュメント。 Spring Batch - Reference Documentation まず…

Spring Web MVCアプリケーションのテスト方法を見ていきたい(+モックでBeanのテスト)

これは、なにをしたくて書いたもの? Spring Web MVCのテスト方法を、ドキュメントをしっかり眺めて見たことないなぁと。 時々扱っている時もかなり雰囲気で使っていたので、ちょっと見てみることにしました。 あと、オマケでモック(Mockito)でふつうにBea…

DbUnitを試してみる

これは、なにをしたくて書いたもの? Javaのテストまわりの情報を見ていて、データベースの事情って今はどうなんだろう?と思いまして。 見ていて、DbUnitから変わっていなさそうだったのと、そもそもDbUnitを使ったことがなかったのでちょっと試してみるこ…

Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる

これは、なにをしたくて書いたもの? Springに関するテストの話について、あまり知らないのでちょっと見ておこうかな、と思いまして。 さらっと、Springのテストに関するドキュメントを眺めてみます。 Springのテストに関する話 今回扱うのは、Spring Bootの…

Spring Integrationを試してみる

これは、なにをしたくて書いたもの? Spring Integrationを少し試しておきたいな、と思いまして。 Spring Integration Spring Integrationは、EIP(Enterprise Integration Patterns)をSpringで実現するためのものです。 Extends the Spring programming mo…

Springの各プロジェクトに、サポート期間が掲載されるようになっていたという話

いつからかわかりませんが、Springの各プロジェクトのにサポート期間がわかりやすく掲載されるようになっていたという話です。 たとえば、Spring Frameworkを例にしてみます。プロジェクトのトップページにある、「SUPPORT」を選択してみます。 すると、「リ…

Apache Mavenで、依存関係からワイルドカードでexcludeする

前のエントリーで、依存関係からアーティファクトの一部をartifactIdに*を指定することでまるごとexcludeしていました。 <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-server-testdriver-core</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.infinispan</groupId> <artifactId>infinispan-server-runtime</artifactid></exclusion></exclusions></dependency>

Infinispan Server 13をTestcontainersで使う(Infinispan Server Test Driver)

これは、なにをしたくて書いたもの? Infinispan 13のドキュメントに、Testcontainersについて書かれている箇所が増えていることに気づきまして。 Using Hot Rod Java clients / JUnit testing Using Hot Rod Java clients / Testing Infinispan with test c…

Quarkus GraphQL ExtensionでSubscriptionを使ってみる

これは、なにをしたくて書いたもの? 前に、QuarkusのGraphQL Extensionで初めてGraphQLを使ってみました。 Quarkusで始めるGraphQL - CLOVER この時はQueryとMutationのみだったので、今回はSubscription(通知)を使ってみたいと思います。 Quarkus GraphQ…

Quarkus HTTPの上でRESTEasyを動かす

これは、なにをしたくて書いたもの? 前に、Quarkus HTTPを使ってServletを動かすエントリーを書いてみました。 Quarkus HTTPでServletを試す - CLOVER Quarkus HTTPは使い方がUndertowと変わらないので、RESTEasyもそのまま動かせるのでは?ということで遊…

Altair GraphQL ClientでGraphQLを使う

これは、なにをしたくて書いたもの? 前に、QuarkusでGraphQLを使ってみるというエントリーを書きました。 Quarkusで始めるGraphQL - CLOVER この時は、Quakusに組み込まれているGraphiQL UIを使ってQueryやMutationを実行しました。あと、curlでも1度やって…

Node.jsのサーバーサイドフレームワーク、NestJSを試す

これは、なにをしたくて書いたもの? Node.jsのサーバーサイドフレームワークといえば、ExpressやFastifyあたりが有名なのかなと思っていたのですが。 Express - Node.js web application framework Fastify, Fast and low overhead web framework, for Node…

Quarkusで始めるGraphQL

これは、なにをしたくて書いたもの? GraphQLの勉強をしておきたいなと最近思っているのですが、QuarkusにGraphQL向けのExtensionが含まれているのでこちらで始めてみる ことにしました。 Quarkus - SmallRye GraphQL GraphQL GraphQLは、APIのためのクエリ…

Quarkusプロジェクト作成時に、Extension Codestartを含めないようにする

これは、なにをしたくて書いたもの? Quarkusには、Extension Codestartというコード生成システムがあります。 Quarkus - Extension codestart QuakusのExtension Codestartの配置場所について - CLOVER これはこれで便利なのですが、Javaソースコードは特に…

Apache Tomcatをフォアグラウンドで起動する

これは、なにをしたくて書いたもの? Apache Tomcatをフォアグラウンドで起動する方法について、ちょっとメモしておこうかなと。 Dockerコンテナやsystemdのサービスとして起動する時に、知っておくと便利そうですよね。 前に書いたエントリーで触れたことが…

Node.js × TypeScriptのORM、TypeORMをMySQLで試す

これは、なにをしたくて書いたもの? Node.js+TypeScriptのORMは、このあたりが有名みたいです。 Sequelize | Sequelize ORM v5以降、TypeScriptをサポート TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, Postgre…

Amazon DynamoDBのローカル版とDocumentClientで、セカンダリインデックスを試す

これは、なにをしたくて書いたもの? 最近、Amazon DynamoDBで遊んでいましたが、今回で一区切りにしようかなと思います。 もしかしたら、DynamoDB Streamsあたりは試したくなるかもしれませんが。 今回は、セカンダリインデックスをテーマにします。 セカン…

Quarkus HTTPでServletを試す

これは、なにをしたくて書いたもの? QuarkusのHTTPに関する処理は、Quarkus HTTPという独立したリポジトリで作られています。 GitHub - quarkusio/quarkus-http 今回、こちらで少し遊んでみようかな、と。題材はServletです。 Quarkus HTTP Quarkus HTTPの…

Amazon DynamoDBローカル版とDocumentClientで、トランザクションを試す

これは、なにをしたくて書いたもの? 今回は、Amazon DynamoDBのトランザクションを試してみようかなと思います。 DynamoDB トランザクションで複雑なワークフローを管理する - Amazon DynamoDB Amazon DynamoDBのトランザクション Amazon DynamoDBにはトラ…