2

データベースから読み取られたリストを含むアプリケーションスコープのマネージドBeanがあります。別のアプリケーションがデータベースに変更を加えるたびに、Webサービスをトリガーして管理対象Beanのリストを更新する必要があります。

私はもう試した

FacesContext context = FacesContext.getCurrentInstance();
ApplicationBean application= (ApplicationBean) context.getApplication().evaluateExpressionGet(context, "#{applicationBean}", ApplicationBean.class);

おそらくWebサービスがJSFコンテキストで呼び出されていないため、コンテキスト変数がnullでした。

RESTリソースクラスは次のようになります。

@Path("/application")
public class ApplicationResource {

@PUT
@Path("{id}")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
public void updateIdCache(@PathParam("id") String internalid) {
    ApplicationBean application = ???;
    application.update(id);
    return;
}

}

使用中のアプリケーションサーバーはtomcat6です。どのように正しく実行されますか?

感謝をこめて

4

1 に答える 1

0

JSF マネージド Bean で自分が望むことが可能だとは思わないでください。

ただし、CDI Bean にはこの機能があります。

CDI を使用した JAX-WS:

http://weblogs.java.net/blog/jitu/archive/2010/02/19/jax-ws-cdi-java-ee-6-0

CDI 実装の溶接が一般的に使用され ます。

ところで、私はCDIで作業するのが大好きで、Tomcat 6/7しか使用していません

于 2012-09-28T17:14:58.640 に答える