2014-01-01から1年間の記事一覧

Jenkins + HipChatをHubotなしで連携する

JenkinsとHipChatを連携させると、Jenkinsジョブの結果をHipChatに通知したり、HipChatからbotコマンドを投げてJenkinsのジョブを起動したりすることができます。 HipChatそのものや、Hubotを使った連携のさせ方は以下を参照。 iOSアプリ開発でもCI/継続的…

DBFluteをできるだけ簡単に説明してみる

「DBFluteとは何か」と思って調べてみたら「DBFluteの紹介の時点で長すぎっ!!」って思った人向け。 いつも説明に困るのでまとめておく。 DBFluteとは、 データベースアクセスを行うO/Rマッパー。(DBFlute Runtime) データベース周りのかゆいところに手が…

Spring Batchのトランザクションをステップレベルからジョブレベルに変更する方法

Spring Batchでは、通常ステップがトランザクション境界となり、ステップ処理ごとにコミットが行われる。 チャンクの設定によって、一定件数処理するごと(1000件ごとなど)にコミットすることも可能。 大量データを処理する場合に、デフォルトでこの仕組み…

ThymeleafでSpringのMessageSourceを使ってテキストをローカライズする

ThymeleafはSpringとうまく結合されているので、Spring管理下にあるMessageSourceは特に意識せずともテンプレートで使用することができます。 Spring側で必要なのは、MessageSourceをBeanとして登録してあげるだけ。 @Bean public MessageSource messageSour…

SonarQubeでJavaのコードを解析する(Maven編)

SonarQubeでは複数の方法でコード解析を実行することが出来ます。 SonarQube Runner スタンドアロンJavaアプリ Mavenプラグイン Antタスク Gradle CIサーバ Jenkins, Bambooなど MavenもしくはGradleで管理されたプロジェクトでは、それぞれ対応するプラグイ…

SonarQubeの公開ポート番号を変更する

SonarQubeをデフォルト設定でインストールした場合、9000番ポートとなり、公開する上でちょっと面倒な場合があります。普通の80番ポートで公開するにはいくつか選択肢があります。 SonarQubeの設定を変更する mod_proxyを使う mod_proxy_ajpを使う 1. SonarQ…

SonaQubeをCentOSにインストールする

SonarQubeサーバの実行には、JavaとMySQL等のデータベースが必要です。 データベースは初期設定でH2を使うようになっており、必ずしも用意しなければならないものではありません。しかし、これはあくまでも評価用であり、実際に利用するときは別途データベー…

Tomcat再起動時に [Abandoned connection cleanup thread] がメモリリークしてるという警告が出る場合の対応

Tomcat上のWebアプリケーションでMySQLのJDBCドライバを使用すると、Tomcat再起動時に以下のような警告が出力されます。 The web application [] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it.…

Spring SecurityのCSRF対策とServlet 3.0のMultipartをJava Configで設定する

はまったのでメモ。 やりたかったこと HTMLのFORMをPOSTするとき <input hidden name="_csrf" value="..." /> でCSRFトークンを送りつつMultipartでファイルアップロードしたい。 Springの設定はJava Configでやっていて、web.xmlは作っていない。今さらいろいろな設定をxmlにしたくない。 やってみた…

SonarQubeでMavenのMulti-moduleかつMulti-language

SonarQube 4.2からMulti-languageがサポートされました。これにより、例えばJavaとJavascriptが1つのMavenプロジェクト内に存在する場合でも、両方の言語の解析結果を見ることができるようになりました。 Multi-languageとして解析するために特別な設定は不…

SonarQubeでMavenのレポートを再利用する設定

最近リリースされたSonarQube 4.3から、SonarQube実行時にユニットテストを実行する機能である sonar.dynamicAnalysis が非推奨になりました。*1 SonarQube自身が様々なの言語への対応を進める中で、各言語のテストフレームワーク全てを実行できるようにする…

Redmineのカレンダーに祝日を表示するプラグインを作りました

先日Redmineのカレンダーで祝日を表示する方法を見つけたわけですが、本体のソースを直接修正するのがだいぶイケてない感じでした。 せっかくなので、Redmine(とRails)の勉強がてらプラグインにしました。 taktos/redmine_holidays_plugin · GitHub インス…

Redmineのカレンダーで祝日を表示する

2013-01-30追記 本体のコードを修正しないで済むようにプラグイン化しました。 記事はこちら↓ Redmineのカレンダーに祝日を表示するプラグインを作りました - taktosの日記 基本的には以下のサイトと同じですが、祝日名を表示したいので、祝日判定にholidays…