Tagbangers Blog

佐々木 亜里沙

Reactive Spring - Rossen Stoyanchev氏のSpringブログ(日本語超訳)

少し古いのですがSpringブログでのROSSEN STOYANCHEV さんの記事(2016/2/9投稿)の日本語超訳をしたいと思います。 オリジナルはこちらを参照してください。 Reactive Spring SpringOne2GX 2015 にてJuergenがSpring Framework 5 についての計画を発表しました。 これは主にReactiveアーキテクチャにフォーカスしたものになります。 それから着実に取り組みが進行中で、多くの成果が現れてきています。 そもそもReactiveプログラミングモデルはサービスとアプリケーションをノンブロッキングで書くことができるものです。 ...

Hibernate SearchのFieldBridgeとignoreFieldBridgeについて

前にだいぶはまってしまい色々な方のアドバイスにより解決し(てもらっ)たところをまとめます。 結論 Hibernate Searchで複数のカラムを条件にした検索がしたい場合など、お決まりのフィールドをカスタムしたい場合はFieldBridgeを使って表現することができます。 またFieldBridgeを使って登録された項目を検索するときはignoreFieldBridgeを使います。 私の間違いとやりたかったこと 人・商品・ブランドというEntityがあり、Entity同士の関連は Person 1-n Item n-1 Brand となっていたとします。 そのときに「あるブランドの商品を持っ...

org.apache.maven.plugin.MojoFailureException

mavenでビルドするときにエンコーディング問題でコンパイラが通らない場合に org.apache.maven.plugins maven-compiler-plugin 1.7 1.7 UTF-8 のようにencodingタグで文字エンコーディングを指定すると問題なくビルドできました。

Java Heap領域で起きたOutOfMemoryErrorの対応とメモリまわりのまとめ

実際起きたOutOfMemoryErrorの対応と、調べてみたことについてメモします。メモリの話のほうが多くなってしまいました。 0.OutOfMemoryError発生 java.lang.OutOfMemoryError: Java heap space サーバがダウンしてからログを確認すると、上記がtomcatのcatalina.outに出ていました。 明らかにOOMEです。ヒントはJavaヒープ領域。それだけ。 そもそもOutOfMemoryErrorとは を調べるために、JVMのメモリの管理の仕方を調べてみます。 JVMはメモリ空間をどのように使用しているか JVMはOSからもらった...

​Spring MVC @RequestMappingのマッピング優先度まとめ

Controllerに使う@RequestMappingにはURIの変数や正規表現などいろいろなパターンを指定できますが、どのコントローラにマッピングされるかという優先度をいつも忘れてしまうのでまとめてみます。 ちなみにパターンとして記述できる記号についてはAntPathMatcherのAntPatternComparatorの中で説明されているようで そのdocによると、 ? → 1文字にマッチ * (ワイルドカード) → 0かそれ以上の文字数にマッチ ** (ダブルワイルドカード) → 0かそれ以上のディレクトリにマッチ という意味になってます。 URI変数({variables})とワイ...

iReportが起動しないときの対処方法

iReportでは納品書や請求書など帳票のデザインテンプレートをGUIで作成できるものですが 最新version(5.6.0)をダウンロードして正常にインストールできたのに、起動だけしないという事象が発生しました。 必要事項を確認するとJDK1.5 or 1.6が必要とのこと。 自分の環境ではJDK1.8のパスを環境変数に設定しているのですが、 iReport用に、jasperReports/iReport-5.6.0/etcの下の、ireport.confを編集することで、JDKのパスを上書きできます。 # default location of JDK/JRE, can be overri...

stashとgithubのミラーリング

Stashのリポジトリをgithubのリポジトリにミラーリングしたいときに「Repository Mirror Plugin for Stash」プラグインを使うとかんたんにできたのでメモします。 github側の設定 githubの「アカウント設定(cog)」>「Personal settings」>「Applications」の、『Personal access tokens』でミラーしたいリポジトリ用にトークンを生成します。これを後で使うのでコピーしておく。 Stash側の設定 Stashの「システム設定(cog)」>アドオン「Find new add-ons」で、「Repository...

nginxでSEOを考慮したメンテナンスページを表示する試み

アプリのメンテナンスをするときにぺら1のメンテナンスページを表示しバックで作業する場合があると思いますが、そのときに考慮したいのが稼働中サイトのSEO対策です。 大事な点は、ステータスコード503でメンテナンスページを表示することです error_page 503 @maintenance; location @maintenance { add_header Retry-After "Wed, 18 Feb 2015 03:00:00 GMT"; expires -1; rewrite ^(.*)$ /maintenance.html break; }

Spring MVCでリクエストヘッダを見てマッピングする方法

Spring MVCでリクエストヘッダをマッピングの条件とする方法を調べてみました。 consumes: リクエストヘッダのContent-Typeをマッピング条件として絞り込む @Controller @RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json") public void addPet(@RequestBody Pet pet, Model model) { // implementation omitted } produces: リ...