Tagbangers Blog

小川 岳史

Thymeleaf に PullRequest してみた

大した修正ではないので、とても恐縮ですが、Thymeleaf に PullRequest したらマージしてもらったのでその話。 これがその PullRequest https://github.com/thymeleaf/thymeleaf-spring/pull... なにを修正したのか? ThymeleafViewResolver が RedirectView を生成する際に、RedirectView に対して ApplicationContext をセットしてやる、というものです。 なぜに? Spring の Controller クラスから redirect: によってある URL に...

AWS SDK for Java がモジュール分割されました

個人的に待望だったAWS SDK for Java がモジュール分割されたようです。 http://java.awsblog.com/post/TxBSZ02ZOG3VPZ/AWS-SDK-for-Java-Maven-Modules というもの、AWS SDK for Java は jar ファイルのサイズが 13MB ぐらいの大きさにふくれあがっていて、利用しない部分のソースコードのファイルサイズが多すぎると思っていました。 1.9.0 からは下記のように利用する AWS のコンポーネントのみをチョイスして組み込めるようです。              com.amazonaws ...

AWS SDK for Java の Credential Provider Chain

AWS の API にアクセスするには AWS の認証情報(アクセスキーとシークレットキー)が必要になる。 AWS SDK for Java ではサービスクライアントに認証情報を引数で指定しない場合、 default credential provider chain を用いて、アクセスキーとシークレットキーは次のクラスが順番で見つかるまで探す。 EnvironmentVariableCredentialsProvider SystemPropertiesCredentialsProvider ProfileCredentialsProvider InstanceProfileCredenti...

ISPN000055: Unexpected error in AsyncStoreCoordinator thread. AsyncCacheWriter is dead!

全文検索インデックスを再構築した時の「ISPN000055: Unexpected error in AsyncStoreCoordinator thread. AsyncCacheWriter is dead!」の対処法。 環境 Hibernate Search 4.5.1.Final Infinispan 6.0.2.Final  Stacktrace [AsyncStoreCoordinator-LuceneIndexesData] ERROR o.i.p.async.AsyncCacheWriter - ISPN000055: Unexpected error in AsyncStor...

Spring Security で認証・認可情報をユーザの更新時に再読込みする方法

Spring Security でログイン認証を行う場合、認証情報と認可情報はセッションに保存される。 ※認証情報=ログインが成功したか ※認可情報=どのような権限があるか つまり、一度ログインすれば、ログアウトするまでログインした時の認証と認可情報が継続する。 この場合、困るのは管理者が対象ユーザをユーザ管理機能などで、権限を変更したり、削除した場合だ。 基本的には管理者が操作したそのタイミングでその時ログインしているユーザにも内容を反映したい。 これに対応するには2つのアプローチ方法が考えられる。 ユーザのアクセスのたびに認証・認可情報を再読込みする 管理者がユーザを更新した時にセッション...

Coberturaのexcludeとignoreが無視される件

pom.xml で Cobertura の exclude と ignore の設定をしてもどうも無視されてカバレッジ対象なってしまっていたけど、reporting ではなく build ブロックにかかないといけなかったのか。 http://mojo.codehaus.org/cobertura-maven-plugin/usage.html 確かに、 Instrumentation の設定はこそっと build ブロックに書いてありました。

Spring Securityの @EnableGlobalMethodSecurity でカスタム Expression

なぜ MethodSecurityExpressionRoot クラスが public じゃないないのか。そして下記チケットが wontfix になっているのか。 https://jira.spring.io/browse/SEC-1691 前のプロジェクトで @EnableGlobalMethodSecurity で独自の関数を作成したいと思った時、 MethodSecurityExpressionRoot クラスがパッケージスコープでそれを諦めたけど、よく見たらチケットにこのようにコメントされていた。 You can also add your own expressions using ...