问题标签 [seam3]

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.

0 投票
1 回答
199 浏览

java - 客户端与服务器和 JPA 事务的对话

我正在开发一个信息系统,但有些事情我不知道如何处理。假设我的网站允许管理员编辑用户。当两个管理员要同时编辑同一个用户时,不应该允许在第一个管理员之后单击编辑的管理员。

所以我希望在管理员单击编辑按钮时打开一个事务,并在他们发送编辑后的表单时提交。

我能想到的一种解决方案是将 EntityManager 放在命名的 ConversationScoped CDI bean 中。但我认为这不是一个好的解决方案,因为表示层应该与业务层分离,而数据库访问属于业务层。

另一种解决方案可能是将 EntityManager 放在 Stateful bean 中并管理来自 Named ConversationScoped CDI bean 的事务,该 bean 将调用 Stateful bean 上的方法。但是在 Web 层管理事务是个好主意吗?如果我决定将我的业务层部署在另一个应用程序服务器上,那么在远程 EJB 上管理事务会起作用吗?如果 EJB 被钝化,事务会丢失怎么办?

这也与另一个问题有关,当您使用 EntityManager 从数据库中检索对象时,一旦事务关闭,它就会被分离。如果对象有一些惰性初始化字段,则 Web 层无法访问它们,因为当对象返回到 Web 层时,它已分离。因此,您可以管理 Web 层中的事务,也可以遍历业务层中的惰性初始化字段。前一种解决方案似乎不正确,而后一种解决方案可能会变得非常冗长和复杂。

我知道我问了太多问题,但我真的很想知道如何正确地做到这一点。

我可以使用这些技术:CDI、Seam 3 和 EJB。

当然,如果您知道更好的解决方案,我会很高兴听到它。

提前致谢。

0 投票
1 回答
313 浏览

java - 登录后,Seam 安全性和漂亮面孔重定向到错误的 url

当我使用接缝安全登录到我的页面时,它会将我重定向到 /WEB-INF/pages/index.xhtml 而不是简单的 /。这是我的@ViewConfig 的片段:

你知道问题可能出在哪里吗?

0 投票
0 回答
272 浏览

seam - Seam3 @ViewConfig 和漂亮面孔映射 id

通过 Seam3 @ViewConfig 接口使用漂亮面孔时,如何获取 urlMapping 的 id?

在 pretty-config.xml 中,id 在 url-mapping 元素上指定。

使用 Pretty Faces 提供的 @URLMapping 注释,我可以使用 id 属性。

但是 Seam faces 提供的 @UrlMapping 注释没有任何 id 属性,所以我想知道这个映射的 id 是什么。

0 投票
2 回答
834 浏览

dependency-injection - 如何将消息放入 Seam 3 中的静态方法

在 Seam 2 中,我们有一个 Component.getInstance(someClass),它可以用于静态方法来实例化一个 bean。

我如何在 Seam 3 中使用这种方法?

前任:

以及如何在静态方法中获取消息?

更新:

我用了

一切正常。但是所有这些代码都必须编写。

0 投票
1 回答
400 浏览

jsf - Seam 3 异常处理程序 - 重定向不起作用

在这种情况下,重定向不起作用的原因是什么?

我确定异常处理程序方法已处理。如何在异常处理程序方法中重定向到某些错误页面?

0 投票
1 回答
517 浏览

jsf-2 - jsf2 导航问题

我有一个使用 jsf2、jboss 6.1 和 seam 3 的应用程序。我想做这样的事情:

如果用户尝试访问应用程序但未通过身份验证,则应将其引导至登录页面。如果用户已经登录,即使他输入了登录 url,他也应该被引导到主页,而不是再次登录。所以我把它放在 faces-config.xml

但第一条规则不起作用。如果用户使用 login.xhtml 键入 url,他将停留在页面上。我需要他被重定向。我怎样才能做到这一点?

谢谢

凯利

0 投票
1 回答
118 浏览

web-services - 需要帮助来学习 Web 服务/Web 应用程序

在过去的 5 年里,我一直是一名 Java 开发人员,其产品完全使用核心 Java 和 Java Swings 开发。现在我搬到了一家新公司,在那里我将在后端做类似的工作,但是我必须学习 Web 服务、EJB、Seam 和其他与 Web 相关的东西。我想知道从哪里开始,任何有用的书籍,教程,以便深入理解和快速入门。请帮我。

0 投票
1 回答
540 浏览

ejb-3.0 - jboss中的ejb3 sfsb激活异常

我在 jboss 6.1 上有一个带有接缝 3 的应用程序。我的 bean 主要是对话范围的 bean(有状态会话 bean)。有时我在一个由对话范围 bean 处理的页面上,我离开页面一段时间(比如几分钟),然后单击一个操作链接,我收到以下错误:

似乎 jboss 正在尝试恢复一些不可用的可序列化对象。但我可以找出是哪一个。

有人可以帮忙吗?

谢谢

凯利

0 投票
2 回答
2123 浏览

cdi - 如何在 Weld 中检索所有现有的长时间运行的对话?

我正在 JBoss 7.1.1.Final、Weld、Seam 3 中编写应用程序。我有以下 bean:

现在,用户可能会创建多个对话,每个对话都会与 ConversationBean 的实例相关联。我需要能够获得所有与长期对话相关的实例。

我需要访问它们的原因是,如果用户多次打开一篇文章(因此他将使用同一篇文章创建多个对话)。如果他在一次对话中更改了文章,我希望能够刷新其他对话中的文章。

有没有一些标准的方法来做到这一点?

编辑:“文章”实例由 entityManager 查找并在对话中进行管理。使用 Seam Managed Persistence Context 检索实体管理器。

0 投票
1 回答
1396 浏览

ejb - FlushMode 类型 Commit 与 REQUIRES_NEW 事务属性一起使用

我正在使用 JBoss 7.1.1 Final、Weld、Hibernate 4、Seam 3 进行开发,但我不明白以下行为。我使用Seam Managed Persistence Context for Entity manager and Persistence Interceptor from Seam 3。我有以下CDI Bean:

并遵循 EJB

因此,由于我使用 Seam Persistence 模块,我假设会发生这种操作流程:

1) 从前端调用registrationController.register()

2) 发起新事务A

3) service.register(...) 被调用

4)事务A被挂起,事务B被创建用于执行service.register(因为它被REQUIRES_NEW注解)

5) 执行 service.register(...) 完成

6) 事务 B 被提交

7) 由于我使用 COMMIT 刷新类型,因此会调用刷新

8) 交易 A 被打开

现在, em.find(Person.class, p.getId()) 正试图找到刚刚坚持的人。由于事务 B 已提交并且实体管理器已刷新,它应该会找到它。但它返回null。如果我手动冲洗,那么它可以工作。

我在哪里犯错?是不是有些误会?