Java 第一次跑边门
我和你有问题 问题在于某些导入无法解决:Java 第一次跑边门,java,google-app-engine,wicket,Java,Google App Engine,Wicket,我和你有问题 问题在于某些导入无法解决: import org.apache.wicket.page.PersistentPageManager; // This one import org.apache.wicket.util.io.IObjectStreamFactory; // and this cannot be resolved @Override public void init() { super.init(); getReso
import org.apache.wicket.page.PersistentPageManager; // This one
import org.apache.wicket.util.io.IObjectStreamFactory; // and this cannot be resolved
@Override
public void init()
{
super.init();
getResourceSettings().setResourcePollFrequency(null);
WicketObjects.setObjectStreamFactory(new IObjectStreamFactory() {
@Override
public ObjectInputStream newObjectInputStream(InputStream in)
throws IOException {
return new ObjectInputStream(in);
}
@Override
public ObjectOutputStream newObjectOutputStream(OutputStream out)
throws IOException {
return new ObjectOutputStream(out);
}
});
setPageManagerProvider(new DefaultPageManagerProvider(this) {
public IPageManager get(IPageManagerContext pageManagerContext)
{
IDataStore dataStore = new HttpSessionDataStore(pageManagerContext, new PageNumberEvictionStrategy(10));
IPageStore pageStore = new DefaultPageStore(getName(), dataStore,
getCacheSize());
return new PersistentPageManager(getName(), pageStore, pageManagerContext);
}
});
// add your configuration here
}
另外,找不到
getCacheSize()
方法,我使用的是Wicket版本,演示应用程序中使用的1.5-SNAPSHOT,但我也尝试了其他更高版本,但仍然无法解决,如何解决这个问题?这个类和方法仅在RC版本(或更早版本)中引入,并从1.5版本中删除
因此,您可以下载其中一个RC软件包或迁移到1.5版本
要迁移,您应该:
WicketObjects.setObjectStreamFactory…
。这将被为pageStore
定义序列化程序所取代。请参阅迁移部分DefaultPageManagerProvider
的get
方法,如下所示:@Override
public IPageManager get(IPageManagerContext context)
{
IDataStore dataStore = new HttpSessionDataStore(context,
new PageNumberEvictionStrategy(10));
IPageStore pageStore = new DefaultPageStore (
new JavaSerializer ( getName() ), dataStore,
getStoreSettings().getInmemoryCacheSize());
return new PageStoreManager(application.getName(), pageStore,
context);
}