しおしお

IntelliJ IDEAのことなんかを書いてます

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

ServletInputStreamをラップして、リクエストのボディをログに出力してみる

お仕事で、リクエストボディのJSONの内容をログに出力したいんだと言われたので作ってみた。 実現方法 1. FilterでServletRequestをラップする 2. ServletRequestのラッパーでは、InputStreamのgetterでログ出力機能をもったServletInputStream実装を返す 3.…

Oracle11gR2からはlikeのパターン一致文字に全角が含まれなくなったもよう

ドキュメントにこんな注意書きが増えてた。。。Oracle12cで試してみたら、全角はパターン一致文字にならなかった。全く把握できてなかった(´・ω・`) SQL> select * from test where value like 'ほ_'; ID VALUE -- ---------- 1 ほげ SQL> select * from te…

jax-rsなリソースクラスをArquillianを使ってテストしてみた

Arquillian REST Extension 1.0.0.Alpha3 Released · Arquillian Blog を見ながらやるとかなり簡単にできた。 テスト対象のリソースクラス シンプルなこんな感じのリソースクラスをテスト対象に。。。 public class HelloResource { @GET @Produces(MediaTyp…

JSR352-Batch Applicationを試してみた(ジョブの停止-Chunk)

Chunckステップ実行中にバッチジョブを停止する方法。基本的な考え方やステータスの遷移は、Batchletの停止と同じ。違いは、Chunkの場合はBatchletのような停止用の実装を行う必要はないこと。Chunkの場合は、Writerが処理中の場合はWriterの処理が終わり次…

JSR352-Batch Applicationを試してみた(ジョブにパラメータを指定する)

JSR352-Batch Applicationを試してみた(ジョブの停止-Batchlet) - しおしおの続編。今回は、ジョブにパラーメータを渡す方法を試してみた。 ジョブ起動時にパラメータを指定する方法 以下のコードのように、JobOperator#startの2番めの引数にジョブ起動時の…

GradleのjarタスクでMANIFEST.MFにgit情報を書き込むプラグイン作ってみた

Gradleのjarタスクで、gitのどのリビジョンをベースに作成したかをMANIFEST.MFに書き込むGradleプラグインを作ってみた。 作った理由 最近、社内のMavenリポジトリに古いソースコードベースのartifactが頻繁にアップされてかなりハマったので。。。 jarがど…

JSR352-Batch Applicationを試してみた(ジョブの停止-Batchlet)

JSR352-Batch Applicationを試してみた(Chunkステップ編) - しおしおの続編で、今回は実行中のジョブの停止を試してみる。 実行中ジョブの停止方法 JobOperator#stopを呼び出すことで実行中のジョブが停止する。 sotpメソッドの引数には、停止対象のジョブ実…

UpsourceのIntelliJ IDEAプラグインを使ってみた

JetBrainsのUpsource触ってみた(リポジトリブラウザ) - しおしお依頼久しぶりのUpsourceネタ。 お仕事系プロジェクトで使ってみようかなと思って久しぶりに触って見てたら、IntelliJ IDEA用のプラグイン出てたのでプラグインの使い方を少し整理してみた。 プ…

JSR352-Batch Applicationを試してみた(Chunkステップ編)

JSR352-Batch Applicationを試してみた(Batchlet編) - しおしおの続編です。今回は、chunkステップを試してみます。chunkステップは、ItemReaderでデータベースやファイルなどから読んだデータをItemProcessorで変換(ビジネスロジックで色々導出したりしてIt…

Gradleのcoberturaプラグイン2.2.7以上で発生するClassNotFoundExceptionへの対処方法

Gradleのcobertura-pluginのバージョンを2.2.7以上に上げた場合にClassNotFoundExceptionがでてテストが実行できない件の対処方法。 build.gradleの内容 plugins { id 'net.saliman.cobertura' version '2.2.8' } group 'siosio.test' version '1.0-SNAPSHOT…

JSR352-Batch Applicationを試してみた(Batchletをテストしてみた)

JSR352-Batch Applicationを試してみた(BatchletでDBアクセス-JPA編) - しおしお(´・ω・`)で作ったBatchletをArquillianでテストしてみた。とりあえず、BatchletでJPA使ってるのでhttp://arquillian.org/guides/testing_java_persistence/あたりを見ながら…

JSR352-Batch Applicationを試してみた(BatchletでDBアクセス-JPA編)

JSR352-Batch Applicationを試してみた(Batchlet編) - しおしお(´・ω・`)の続編です。今回は、Batchletでデータベースにアクセスしてみようかなと。データベースへのアクセス方法は、JPA使ってもいいし、素のJDBCやオープンソースのライブラリを使ってもい…

JSR352-Batch Applicationを試してみた(Batchlet編)

JSR352(Batch Application)を動かして見たので、その記録を残しておくと。まず、動かしてみたいレベルだったのでサクッと動かすことができそうなBatchletを使っています。 実際にバッチアプリケーションを作成する際は、BatchletにはSQL一発ですむ処理を実装…

IntelliJのGenerateメニューで生成されるアクセッサにJavadocも出力するように

IntelliJ14.1から、Generateメニューで生成するアクセッサのフォーマットがカスタマイズできるようになりました。 これで、旧バージョンでは出来なかったJavadocのカスタマイズなんかもできるようになるので、テンプレートの編集手順まとめてみました。 アク…

IntelliJでクラスのヘッダーコメントをプロジェクトごとカスタマイズしよう

@masanobuimaiさんの下のツィートを見て、そういえば IntelliJ IDEA 14.1 EAP is Available! | JetBrains IntelliJ IDEA Blogにファイルテンプレートをプロジェクトで持てるみたいなこと書いてあったなと思って調べてみた。@kis JetBrains系もIDEごとに設定…

IntelliJ IDEA14でのコード補完を整理してみた

コード補完の設定(IntelliJ IDEA12版)へのアクセス未だにあるので、バージョン14でのコード補完どうなってるか整理してまとめてみた。 コード補完の設定画面 バージョン14から設定画面ガッツリ変わったので、Code Completionの設定する場所にたどり着くの毎…

IntelliJでGradleプロジェクトを新規作成した時に出力されるbuild.gradleの内容を変更する

IntelliJでGradleプロジェクトを新規で作った場合、build.gradleが以下の内容で出力される。(Use default gradle wrapperを選んだ場合はwrapperタスクは出力されていないと思います。)この内容だと、ソースコードの準拠レベルが1.5だったりjunitのバージョン…

IntelliJのデバッグ実行でSpringBootのホットデプロイできちゃう感

SpringBoot+Gradleでホットデプロイを使えるようにを書いたところ、@makingさんから下の反応もらえた!@_siosio_ ちなみにこの変更であればデバッグ実行でもスワップされると思います(最近知った) ReqestMappingの変更はloadedがいると思いますが。— Toshiak…

SpringBoot+Gradleでホットデプロイを使えるように

GradleなSpringBootプロジェクトでホットデプロイを有効にする手順(IntelliJ IDEA大好きっ子なので、IntelliJ IDEAベースでの手順になってます。)Spring Boot Reference Guideによると、springloadedなるものを使ってあげるだけで、わりと簡単にホットデプロ…

IntelliJさんのpsvmで生成されるmainメソッドを可変長引数に変更してみよう

IntelliJさんのpsvmで生成されるmainメソッドの定義を変更する方法です。デフォルトの設定だとString配列を受け取るmainメソッドが生成されます。生成されるコードのイメージはこんな感じですね。 public static void main(String[] args) { } どうやら、Str…