こちらにやり方が書いてあります。(すばらしい〜)
http://www.vine-server.com/blog/index.php?UID=1236518937
また、ファイルアップロード時のサイズ制限は、components.xmlで定義します。
false
4096
気をつけることとして、maxRequestSizeはPOSTされるContent-lengthの最大サイズなので、ファイルサイズの制限+αにする必要があります。
しかしEJBをJSFのバッキングBeanとして使っているとまたまたエラーが。
javax.ejb.EJBTransactionRolledbackException: Can't find bundle for base name o
rg.ajax4jsf.messages, locale ja_JP
ログ出力にorg.ajax4jsf.messagesを使っているけれど、そのファイルがないので例外発生という問題です。
richfaces-impl.jarをEJBから参照できるようにするか、richfaces-impl.jarの中のorg/afax4jsf/messages.propertiesをEJBから参照できるようにすればOKです。
richfaces-impl.jarは明らかにWEB層のコンポーネントなのに、EJBから参照できなければいけないというのが気持ち悪いですが。
しかし、こういう問題が起きるというのは何か根本的に間違えている気が…。うーん。