java - 从 RESTful Web 服务访问 JSF2 托管 Bean

标签 java rest tomcat jsf-2 managed-bean

我有一个应用程序范围内的托管 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,请问如何正确完成?

谢谢和最好的问候

最佳答案

不要认为使用 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实现焊缝常用: 焊接入门(涵盖 tomcat 6) http://docs.jboss.org/weld/reference/1.0.0/en-US/html/gettingstarted.html

顺便说一句,我喜欢使用 CDI,而且我只使用 tomcat 6/7

关于java - 从 RESTful Web 服务访问 JSF2 托管 Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641614/

相关文章:

eclipse - 导入的 JSF 项目缺少用户库 JAR

java - 删除大型 Java 字符串的部分(它包含 HTML 源代码)

java - Jersey HK2 依赖注入(inject)

java - CentOS 7 上的 Tomcat 8 不会作为服务启动(但它手动启动......)

django - REST API - 媒体类型参数中的属性过滤器

REST 将多个输入传递给 GET 方法

spring 工具套件无法在 tomcat 上部署示例 Web 服务

java - 使用 Maven 执行 Cucumber 测试

java - 当用户从菜单屏幕返回应用程序时,Marker InfoWindowAdapter 导致崩溃

java - Web 服务中的 JPos 客户端