Java

ApacheDSを使ってLDAPアクセスをユニットテストする(カスタムスキーマ編)

前回の記事の続きです。LDAPでカスタムスキーマを使っている場合に、ApacheDSでユニットテストができるかどうか調べてみた。 参考 https://cwiki.apache.org/DIRxSRVx11/31-add-your-first-elements-to-the-schema.html:title= 正に知りたい内容がそのまま書…

ApacheDSを使ってLDAPアクセスをユニットテストする

今見ているコードがLDAPアクセスコードがあちこちに混ざっており、ユニットテストが非常にやりづらい。仕方ないのでJMockitを使って無理矢理ユニットテストを書いていたけど、書くのが結構大変なのとLDAPアクセス処理に変更が入った途端にテストコードが動か…

HashMapでOutOfMemoryErrorが発生するケース

HashMapの同期化をしていないと無限ループになるという話はこことかここで説明されているのでかなり有名かと思います。今回不運にも遭遇したのは、同期化をしていなくてOutOfMemoryError(以下、OOM)が起きてしまうというケース。かなり特殊かもしれないです…

LiferayのHA構成についてメモ

しばらく書き溜めていた、ここ最近のプロジェクトでハマったことをメモしていこうと思います。まずはLiferayのHA構成についてから。 LiferayのHA構成はどうやるの? Liferayをアクティブ-アクティブのHA構成にする場合、いくつか方法があります。Liferay本系…

AlfrescoをGoogleライクな検索に改良してみる

Alfrescoのキーワード検索は一見Googleライクなんだけど、微妙に違うところがあって思うように検索結果を絞り込めないという話が出てきました。Alfrescoのソースと睨めっこしていると改良できそうだったのでやってみました。 スペース区切りがOR検索になって…

Alfresco Share JAR ModulesによるDashletの作成方法

前回のエントリでは、Alfresco Share JAR Modulesで作成されたSite Tags Dashletを紹介しました。今回はこのDashletの作成方法について書いていきます。 前提 Maven2 or 3がインストールされていること Alfresco Share JAR Modulesを作成するための、Maven用…

Alfresco Shareでタグクラウドを実現する

前回のエントリでAlfrescoのカスタマイズ方法の一つとして、「Alfresco Share JAR Modules」があると書きました。「Alfresco Share JAR Modules」はShareのDashletやPageの拡張しかできませんが、JARを配置するだけという非常にお手軽な導入方法となっていま…

Alfrescoのカスタマイズ方法について覚え書き

AlfrescoのWikiやForumをうろうろして徐々にカスタマイズについて分かってきたので、備忘録として書いていこうと思います。カスタマイズ方法は大きく2つの方法に分かれます。 設定のみ 設定だけでもある程度はカスタマイズが可能です。 代表的なものは、コン…

最近Alfrescoを触っています

最近、オープンソースのECM製品であるAlfrescoを触っています。(ECMはコンテンツ管理システムのことです。詳しくは下記ページなどを参照) ECMとは「Enterprise Content Management(企業向けコンテンツ管理システム)」の略で、そのまま解釈すれば「企業内の…

HashMapのマルチスレッドアクセス問題 - getに対する同期化は忘れがち?

HashMapのマルチスレッドアクセス問題は、これまで色んな記事やBlogで取り上げられてますのでかなり有名ですよね。例えば以下とか。 ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT HashMapと無限ループとsynchronized - 谷本 心 in せろ部屋 複…

Java EE 6のEL式の強化

JavaEE 6 では、EL式が何気に強化されてます。実は、EL式でメソッドコールができるようになってます。 しんさんの出張所でも紹介されてますが、これが標準で入るのはかなり良い感じ!例えば、、、http://d.hatena.ne.jp/Hirohiro/20100126/1264507979:title=…

初めてのJava EE 6 (JSF 2.0)

しばらく間があいてしまいました。今回はJava EE 6に含まれているWebフレームワークであるJSF2.0を簡単にさわってみたいと思います。JSFは、前バージョンのJava EE 5からJava EEに含まれるようになりました。つまり、Java EE準拠のアプリケーションサーバで…

GlassFishのホットデプロイ時間をみてみる(CDIバージョン)

前回はEJB(Stateless Session Bean)のホットデプロイ対象を見てみましたが、CDI(旧WebBeans)でsimple bean*1だとどうなるのかみてみました。試したSimpleBeanは以下のような、メソッドが1つのコードです。 package org.example; import javax.inject.Named; …

初めてのJava EE 6 (Servlet + CDI(WebBeans))

前回では、Servlet + EJB 3.1という組み合わせのサンプルを試しに作ってみました。今回はServlet + CDIです。 CDIは、http://d.hatena.ne.jp/Hirohiro/20091228/1262006216:title=というマニアックなエントリで既に登場していますが、知らない人は全く知らな…

GlassFishのホットデプロイ時間をみてみる

EJBの嫌われている点として、デプロイ時間があります。アプリケーションサーバの実装によるのですが、数が増えるととてつもなく遅くなってしまう場合もあります。 GlassFishのホットデプロイはかなり速い感じではありますが、EJBの数を増やすとどう変化する…

初めてのJava EE 6 (EJB3.1)

前回はセットアップからServlet作成まで試してみました。Java EE 6ではServletは3.0となり、web.xmlに書かなくてもServletとして定義できるようになりました。ただ、Servletを書くなんて事は今やほとんどないかもしれません。Javaに限らず、Webアプリは何か…

初めてのJava EE 6 (セットアップ〜Servlet)

ふと、Java EE 6ってもうリリースされてるんだなぁと思い、ちょこっと触ってみた。Java EE 6を今触るならNetBeansの方が良さそうだけど、今回は使い慣れているEclipseでチャレンジです。Eclipseで今Java EE 6を触ってみるなら、GlassFishのプラグインを使う…