问题标签 [requestscope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
primefaces - “找不到保存的视图状态...”双击注销后
我有一个带有注销按钮的应用程序。双击按钮后,我得到一个ViewExpiredException
:
我的注销方法具有以下结构:
这里没有记录错误,所以这里似乎一切都按预期工作。
bean 是请求范围的。
我的潜在相关配置web.xml
:
理想情况下,我想在注销后将用户重定向到门户页面,而不是错误页面。(参见userBean.getPortalUrl()
上面的 logout() 方法)
symfony - Symfony:如何处理常见的请求范围数据
我正在将一个遗留 PHP 项目(前 OO)迁移到 Symfony2。对于每一个请求,我都必须:
- 计算一些动态数据(取决于当前日期和/或一些请求参数)
- 在呈现的响应中使用该数据(多次!)。
一种天真的方法是:
- 在每个控制器方法开始时,调用一些全局辅助函数来计算数据。
- 在每个控制器方法结束时,将数据作为参数传递给 twig 模板。
听起来很乏味。也许这样做会更好:
- 为请求事件创建一个订阅者,该订阅者在请求进入时计算数据并通过 getter 方法提供对它的访问。
- 将该订阅者/服务定义为
config.yml
. - 在 twig 模板中,根据需要调用该服务的 getter 方法。
这可行吗?特别是,树枝变量/服务和订阅者是否总是相同的?或者该服务可能是一个新创建的实例?
这是某种滥用吗?或者这种用例有官方推荐的方法吗?
编辑数据不仅需要在每个树枝模板中,而且在某些控制器中也需要。
java - spring 如何知道新的请求或会话?
我知道在 Web 应用程序中,对于它收到的每个请求,spring 在 ints 容器中创建一个新的 bean 实例。我想知道 spring 如何区分请求并相应地创建新的 bean 实例?
java - Spring - 从对象池请求范围 bean
我有一个资源对象池:
目前,我在我的 JAX-RS 端点中使用这个池,如下所示:
}
这工作正常。但是,PooledResource
手动请求并被迫不要忘记该finally
子句让我感到紧张。我想实现控制器如下:
}
在这里,PooledResource
被注入,而不是管理池。这种注入应该是请求范围内的,而且,在请求完成后,资源必须归还给池。这很重要,否则我们最终会耗尽资源。
这在春天可能吗?我一直在玩FactoryBean
,但这似乎不支持回馈bean。
asp.net - 异步 ASP.NET Web API 中的 ThreadStatic
是否有可能在单个请求中使用线程静态变量?当前代码使用线程静态变量进行日志记录,现在我们想使用异步控制器方法(带有异步和等待模式),这会导致问题,因为当打开新线程时变量为空。
java - 没有 servlet 的 Guice 请求范围注入(在 RPC 服务器中)
作为背景,我正在 Thrift 服务中处理 RPC 请求(尽管我的问题不是 Thrift 特定的)。我想要的似乎应该很简单,但我找不到示例:如何在不从头开始的情况下重用 com.google.inject.servlet.RequestScoped 绑定?
显然,我可以按照说明创建自定义范围。但这似乎过于复杂。我想做的事情:处理传入(Thrift)RPC时,为每个传入调用创建一个新的RequestContext;然后,在处理它时使用标准的 RequestScoped 注入。
基本上,我的代码看起来应该(松散地)像这样:
spring-boot - 如何注入请求范围的bean?
我想将我的请求范围 bean 注入我的另一个 bean。
我尝试将这个bean注入一个JPage
bean:
在我尝试过的控制器中:
我有:
无法实例化 [pl.mirage.components.AbstractUiComponent]:它是一个抽象类吗?嵌套异常是 java.lang.InstantiationException
又一次尝试。它不起作用,因为@RestController
它是单例 - 您不能将请求范围注入单例范围:
我有:
org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“greetingController”的bean时出错:通过字段“jpage”表示的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为 'jpage' 的 bean 时出错:通过字段 'ctx' 表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“uiCtx”的 bean 时出错:范围“请求”对于当前线程无效;如果您打算从单例中引用它,请考虑为该 bean 定义一个作用域代理;嵌套异常是 java.lang.IllegalStateException: No thread-bound request found: 你指的是实际 Web 请求之外的请求属性,或在原始接收线程之外处理请求?如果您实际上是在 Web 请求中操作并且仍然收到此消息,则您的代码可能在 DispatcherServlet/DispatcherPortlet 之外运行:在这种情况下,请使用 RequestContextListener 或 RequestContextFilter 来公开当前请求。
可以通过注释UICtx
或JPage
as来解决此问题@Scope(value = "[..]", proxyMode = ScopedProxyMode.TARGET_CLASS)
。
它仅在JPage
作为控制器字段注入时才有效。JPage
当作为方法参数注入时它不起作用。
我该如何注入请求范围的bean?
java - Guice Request Scope 用于跟踪请求的工作流程
我有一个用例,我在一个请求中执行了 6 个步骤。企业要求我们捕获有关流程中每个步骤的结果的指标。他们希望我们登录到 Kinesis 流。
在架构上,我正在寻找最佳解决方案。我们有基于 java 的服务,我希望随着请求的进行而丰富一个请求范围的对象,然后当端点完成时,我们将使用 fire and forget 模式对 kinesis 进行异步服务调用。这样报告就不会阻碍主线程。
我正在考虑使用原始的 ThreadLocal 或 guice 范围。有没有人遇到过他们解决的类似问题?我正在考虑使用 guice 请求范围组件,这将大大简化代码。只是在寻找一些意见。谢谢!
ejb - 两个无状态 EJB 可以共享同一个请求范围的实体管理器吗?
我决定使用管理的请求范围容器,EntityManager
并为此创建了一个生产者:
我有两个公开远程客户端视图的 EJB:
EJB 部署在 WildFly 10 上。我使用本教程通过远程客户端访问它们。当前版本抛出此异常:org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
. 如果我@RequestScoped
从生产者那里删除注释,我不会得到异常,但是当询问它是否包含实体以及我是否希望对实体所做的更改(姓氏的更改)时,EntityManager
注入到第二个EJB
返回false
任何效果,我都必须调用entityManager.merge(person)
,这显然意味着实体已分离。我确定第二个EJB
使用相同的事务执行,因为如果我注入一个EJBContext
并调用setRollbackOnly()
启动的事务EJB1
将回滚,并且不会将新人插入数据库。
的文档javax.enterprise.context.RequestScoped
说请求范围在 any 的任何远程方法调用期间都是活动的EJB
,那么给出了什么?如何EntityManager
在多个请求期间共享一个EJB's
java - @SessionScoped bean 是否存在并发问题?
显然,很容易让多个并行请求访问 Web 应用程序上下文中的同一个 @SessionScoped bean。我是否正确地认为在这些请求中访问 @SessionScoped bean 时我必须显式控制同步?