【问题标题】:Wicket: What to keep in mind when making a (CDI-enabled) Page Serializable?Wicket:制作(启用 CDI 的)页面可序列化时要记住什么?
【发布时间】:2011-10-20 23:42:25
【问题描述】:

在制作 Wicket Page 可序列化时需要注意什么?

我特别担心 CDI bean - 是否可以在必要时依靠 seam-wicket 重新注入 bean?

public class ChannelLogPage extends BaseLayoutPage implements Serializable {

    private static final Logger log = LoggerFactory.getLogger(ChannelLogPage.class);

    @Inject private ChannelManager channelManager;

    ...
}

【问题讨论】:

    标签: java serialization wicket cdi serializable


    【解决方案1】:

    注入可序列化代理是 CDI 规范的一部分,因此您必须确保安全。 Wicket 为其 Spring 和 Guice 集成执行此操作,但对于 CDI 则不需要。

    【讨论】:

    • 但是我不断收到issues.apache.org/jira/browse/WICKET-3949,我怀疑这是我的东西——基本上,我只有@Inject-ed bean 和组件...?
    • 规范要求 bean 在会话范围内是可序列化的,但我只找到了一个关于可序列化(具有钝化能力)代理的参考,当“将具有正常范围的 bean 注入到具有钝化作用域的 bean”(pg.43@cdi.spec)。由于 Wicket Page 本身不是 CDI bean,我不认为代理注入是有保证的,至少规范不能保证(实现可能会这样做)。我不知道接缝-检票口集成(Weld 没有特定于 CDI 的检票口集成吗?)。
    • seam-wicket 实际上是 Weld 的 wicket 集成。最初它被命名为焊接检票口。它会注入代理。自从 Martin 修复了 WICKET-3949 后,我将使用 Wicket 1.4.19 进行验证(感谢朋友 :)
    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 2023-02-10
    • 2010-12-08
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    相关资源
    最近更新 更多