问题标签 [deltaspike]
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.
deltaspike - 关闭选项卡上的 un-scope @ViewAccessScoped Beans
我有一个带有两个@ViewAccessScoped
Bean 和两个页面/视图的 JSF 应用程序,一个用于搜索的 Bean,在 Bean 上了解详细信息。详细信息 Bean 引用了 @ViewAccessScoped,因此当我返回搜索时数据可用。没有其他 CDI 参考。WindowRenderMode 是ClientWindowRenderMode.CLIENTWINDOW
,无需进一步配置。
到目前为止,这工作得很好。如果我转到另一个页面或注销,Beans 将不受范围限制。我遇到的一个问题:当我在新的浏览器选项卡中打开我的详细信息页面时,会创建两个新的 Bean,这是预期的行为。但是当我关闭选项卡时,Beans 仍然存在。I guess the Server doesn't get notified when a tab get's closed.
- deltaspike 中是否有内置解决方案可用于检测选项卡 clsoes?
- @ViewAccessScoped 的 Bean 是否有超时(在会话超时旁边)?
- 如果没有内置解决方案:如何以编程方式取消 Bean 的范围?最好取消范围连接到该选项卡的所有 Bean(=相同的 Window-ID)(我会使用 JavaScript 检测关闭我自己并在关闭时调用 Bean-Method)
jsf - 使用 @WindowScoped bean 处理新选项卡
我有一个使用 Deltaspike 的 CDI 应用程序,它使用非常有用的@WindowScoped
注释来支持多个选项卡。应用场景如下:
- 用户从列表中选择一个项目并单击“编辑”。
- 用户针对对象进行身份验证。
- 正在编辑的对象的 id 和经过身份验证的用户的用户名存储在窗口范围内,并且可用于系统编辑部分中的所有页面。
- 当用户完成访问此对象时,他们单击完成,并且与此对象的会话关闭(
@WindowScoped
bean 被清除)。
如果用户打开一个新选项卡,然后选择一个新对象进行编辑,那么一切正常,因为 ID 和身份验证详细信息是针对新@WindowScoped
对象存储的。
但是,由于有多个编辑页面,用户也可以右键单击并在新选项卡中打开链接。然后这会失败,因为新@WindowScoped
bean 对创建它的上下文一无所知(基本上是前一个会话的对象 ID 和用户名)。
有没有办法@WindowScoped
用来访问以前的窗口范围对象?或者是否有一种通用的方法可以在窗口范围的 bean 之间共享信息?
感谢您的任何建议!
java - Deltaspike 中的回滚 JUnit 测试
我在 Java SE 项目中将 Apache Deltaspike 与 OpenWebBeans 一起用于 CDI。我在 Java EE 项目中使用了 Spring Data JPA,通过@Transactional
在类或测试方法上方添加注释来设置不向数据库提交数据的单元测试很容易。但是,我无法找到与 Deltaspike 等效的技术。
除了在每次测试后手动回滚数据或每次运行测试时删除并重新创建数据库之外,有没有办法指定每个单元测试完成后应该回滚数据更改?
我的单元测试如下所示:
quartz-scheduler - DeltaSpike @Schedule 如何在新的执行之前等待完成?
我正在使用这个 lib DeltaSpike Schedule来创建 cron 任务。
我的任务每分钟运行一次,但我不知道如何设置 Schedule 以等待完成旧任务。
如果一个任务延迟超过 1 分钟,那么还创建了另一个任务。
java - 消息驱动的 bean 和事务
我知道有很多关于message driven beans
交易的问题,但是我无法找到(我认为)必须是常见情况的答案。
我有一个可以调用来发送电子邮件的服务。当它被调用时,它会在表中创建电子邮件记录,然后将 ID 推送到ActiveMQ
进行处理。到目前为止一切都很好,但是队列会选择 ID 并尝试在事务提交之前发送电子邮件,并且电子邮件不是数据库中的。
服务本身是事务性的,但它也可能是更大事务的一部分。
处理这种情况的最佳方法是什么?我现在正在使用 Thread.sleep Consumer
;然而这感觉很脏......
(我没有使用弹簧)
quartz-scheduler - DeltaSpike @Scheduled 没有触发
我用@Scheduled 注释的工作不会触发任务。我正在使用 Wildfly 10
deltaspike-调度程序模块 1.5.3
石英 2.2.2
仅石英就可以正常工作。
我的实际代码问题:
欢迎任何帮助。
PS:Jboss EAP 上的这段代码有效
java - 集成 Apache deltaSpike 调度程序模块
在创建调度程序时,我发现无法在其中使用 CDI 注入,经过一些研究,我发现了一个有趣的解决方案,即使用 API deltaSpike 的调度程序模块。
我遵循了官方文档中描述的所有步骤,所以我在我的 pom.xml 中添加了以下依赖项
但是每次启动我的 jboss 服务器时都会抛出这个异常
关于异常我错过了有关 deltaspike 配置的一些内容,但我在 stackoverflow 或任何其他网站中都没有找到任何东西,请帮助
java - DeltaSpike 测试控制 - 未找到持久性单元
我正在尝试使用 DeltaSpike 测试控制模块为我正在开发的新 maven 应用程序创建集成测试
它被部署在 Wildfly 9 实例上
一个简单的测试用例:
我有一个看起来像这样的persistence.xml
内部:src/test/resources/META-INF
实体管理器由 CDI 生产者方法公开:
问题是EntityManagerFactory
创建时仍然为空EntityManager
欢迎任何帮助。
java - 来自自定义属性文件的 Deltaspike + Quartz + CronExpressions
我已经从一个属性文件中配置了 CronExpression,但是这个属性文件是 apache-deltaspike.properties,它位于 .jar 文件中。我需要从我的自定义配置文件中获取 cron 表达式:
myOwnPropFile.properties
工作:
当我设置这个属性时一切顺利: QuartzJob=0 25 17 * * ? 在 apache-deltaspike.properties 中,但是当我在自己的属性文件中设置它时,我得到:
研究,我发现我的属性文件是在 Quartz 初始化之后立即加载的,这就解释了原因。现在,我在 Deltaspike 文档中读到,可以在我的属性文件中使用 deltaspike_ordinal 随时加载我的属性文件。所以我尝试了,但它似乎忽略了 deltaspike_ordinal=500,并且错误不断出现。
那么,有人知道如何解决这个问题吗?Deltaspike 文档也谈到了 ConfigSource 等,但不是很清楚,也没有例子。
提前致谢!
jpa - Deltaspike @Transactional 不工作
我正在研究 Seam 到 CDI 的迁移。对于数据库事务,我使用的是 Deltaspike,Javaee6。我已按照 Deltaspike with JTA 文档中给出的说明进行操作。
持久性.xml
资源生产者.java
我正在尝试使用 Deltaspike 中的 @Transactional 注释将值存储到数据库中。我没有看到任何错误,但该值未存储在数据库中。
有人遇到过同样的问题吗?你能指导我解决这个问题吗?有没有我错过的配置。