ステートフル セッション Bean があります。
@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris
何らかの機能で
public void roundHouseKick()
{
...
}
インターフェース
@Local
public interface ChuckNorris
{
public void roundHouseKick()
{
...
}
}
を使用してjsf .xhtmlページでそれらを呼び出します
#{chuckNorrisBean.roundHouseKick}
これは完全に正常に機能します。ただし、 @Stateful アノテーションを Bean に追加すると、次のようになります。
@Stateful
@Scope(ScopeType.SESSION)
@Name("chuckNorrisBean")
public class ChuckNorrisBean implements Serializable, ChuckNorris
そして、ページは例外について不平を言ってロードされます
Exception during request processing:Caused by javax.servlet.ServletException
with message: "#{chuckNorrisBean.roundHouseKick}: javax.el.MethodNotFoundException:
//localhost/universe/earth.xhtml @41,65 action=
"#{chuckNorrisBean.roundHouseKick}": Method not found:
ChuckNorrisBean:a6gkg-w6das4-g8wmgh0y-1-g8woy0wo-4b.roundHouseKick()"
私のchuckNorrisBeanで何がうまくいかなかったのかについて何かアドバイスはありますか?
このシステムは、SEAM/richfaces 上に構築されています。
ありがとう!
---- より多くの情報を追加するために編集 ----
このプロジェクトは、ear (ターゲット出力として単一の .ear ファイル) としてパッケージ化された maven 2.1 でビルドされます。
アプリケーション サーバーは JBoss です。
さらにデバッグしていじった後、
<page view-id="/index.xhtml">
<action execute="#{chuckNorrisBean.roundHouseKick}" />
</page>
pages.xml では、キックがうまくいくようです。ページでの呼び出しが機能しない理由をまだ理解できませんでした。