Java Wicket:使(启用CDI的)页面可序列化时,需要记住什么?

Java Wicket:使(启用CDI的)页面可序列化时,需要记住什么?,java,serialization,wicket,cdi,serializable,Java,Serialization,Wicket,Cdi,Serializable,在使Wicket页面可序列化时,我需要记住什么 我特别关心CDIBeans——依赖SeamWicket在必要时重新注入bean可以吗 public class ChannelLogPage extends BaseLayoutPage implements Serializable { private static final Logger log = LoggerFactory.getLogger(ChannelLogPage.class); @Inject private

在使Wicket页面可序列化时,我需要记住什么

我特别关心CDIBeans——依赖SeamWicket在必要时重新注入bean可以吗

public class ChannelLogPage extends BaseLayoutPage implements Serializable {

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

    @Inject private ChannelManager channelManager;

    ...
}

注入可序列化代理是CDI规范的一部分,因此您必须是安全的。
Wicket这样做是为了它的Spring和Guice集成,但是对于CDI没有这样的需要。

注入可序列化代理是CDI规范的一部分,因此您必须是安全的。
Wicket这样做是为了它的Spring和Guice集成,但是对于CDI没有这样的需要。

但是我不断地得到,我怀疑它是我的-基本上,我只有
@Inject
-ed bean和组件…?规范要求bean在会话范围内是可序列化的,但是我只找到了一个关于可序列化的引用(钝化功能)代理,当“将具有正常作用域的bean注入具有钝化作用域的bean”(第。43@cdi.spec).由于Wicket页面本身不是CDIBean,我不认为代理注入是有保证的,至少规范没有保证(实现可以做到)。我不知道seam Wicket集成(Weld没有CDI特定的wicket集成吗?)。seam wicket实际上是Weld的wicket集成。最初它被命名为Weld wicket。它注入代理。我将使用wicket 1.4.19进行验证,因为Martin修复了wicket-3949(谢谢朋友:)然而,我不断得到,我怀疑这是我的-基本上,我只有
@Inject
-ed bean和组件…?规范要求bean在会话范围内是可序列化的,但我只找到了一个关于可序列化(钝化功能)代理的参考,当“将具有正常作用域的bean注入具有钝化作用域的bean”(第。43@cdi.spec).由于Wicket页面本身不是CDIBean,我认为代理注入是不能保证的,至少在规范中是不能保证的(实现可以做到)。我不知道seam Wicket集成(Weld没有特定于CDI的Wicket集成吗?).seam wicket实际上是Weld的wicket集成。最初它被命名为Weld wicket。并且它注入代理。我将使用wicket 1.4.19进行验证,因为Martin修复了wicket-3949(谢谢朋友:)