【发布时间】:2012-09-20 10:23:59
【问题描述】:
我有一个应用程序范围的托管 bean,其中包含从数据库读取的列表。每当另一个应用程序对数据库进行更改时,它应该触发 Web 服务来更新托管 bean 中的列表。
我试过了
FacesContext context = FacesContext.getCurrentInstance();
ApplicationBean application= (ApplicationBean) context.getApplication().evaluateExpressionGet(context, "#{applicationBean}", ApplicationBean.class);
上下文变量为空,可能是因为未在 JSF 上下文中调用 Web 服务。
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;
}
}
使用的应用服务器是tomcat 6,如何正确完成?
感谢和问候
【问题讨论】:
-
你能从你的应用服务器使用 CDI 吗?
-
@perissf 好吧,它只是一个 tomcat,不是一个完整的 Java EE 应用服务器,但是 JSF2 和 JAX-WS 注释确实可以工作。
-
Tomcat 现在还有一个来自 Apache 的 Java EE 发行版,名为 TomEE。包括 JSF 和 CDI,并通过 JBoss 或 GlassFish 等认证。
标签: java rest tomcat jsf-2 managed-bean