首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RequestFactory接收数据

RequestFactory接收数据
EN

Stack Overflow用户
提问于 2012-09-13 15:40:50
回答 1查看 164关注 0票数 0

我正在尝试使用GWT RF取回数据,但我遇到了一些麻烦。这是我的工厂、代理和实体。

server.domain包下的实体:

代码语言:javascript
复制
public class Job implements Serializable {
private int id;
private String announcer;
private String applied;
private String date;
private String description;
private String email;
private String title;
private int version;
static SessionFactory factory;
static ServiceRegistry serviceRegistry;
public Job() {
    try {
        Configuration configuration = new Configuration();
        configuration.configure();
        serviceRegistry = new ServiceRegistryBuilder().applySettings(
        configuration.getProperties()).buildServiceRegistry();
        factory = configuration.buildSessionFactory(serviceRegistry);
    }catch (Throwable ex) {
        System.err.println("Failed to create sessionFactory object." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}
//Setters&Getters
public void persist() {
        Session session = factory.openSession();
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            Job job = this;
            session.save(job);
            tx.commit();
        } catch (HibernateException e) {
            if (tx != null)
                tx.rollback();
            e.printStackTrace();
        } finally {
            session.close();
        }
    }
public static List<Job> findAllJobs() {
        Session session = factory.openSession();
        Transaction tx = null;
        List<Job> list = null;
        try {
            tx = session.beginTransaction();
            Query query = session.createQuery("select * from Job");
            list = query.list();
        } catch (HibernateException e) {
            if (tx != null)
                tx.rollback();
            e.printStackTrace();
        } finally {
            session.close();
        }
        return list;
    }

JobRequest类文件包含:

代码语言:javascript
复制
Request<List<JobProxy>> findAllJobs();

和入口模块:

代码语言:javascript
复制
final EventBus eventBus = new SimpleEventBus();
JobRequestFactory requestFactory = GWT.create(JobRequestFactory.class);
requestFactory.initialize(eventBus);
JobRequest request = requestFactory.jobRequest();
JobProxy newJob = request.create(JobProxy.class);
requestFactory.jobRequest().findAllJobs().to(new Receiver<List<JobProxy>>(){
public void onSuccess(List<JobProxy> jobs)
{
    System.out.println("SIZE:"+jobs.size());
}
}).fire();

最后,我的错误是:

代码语言:javascript
复制
com.google.web.bindery.requestfactory.server.ServiceLayerDecorator die
SEVERE: No RequestContext for operation Lk3VEjMsjGdUyVzlgtz$ggTrjMA=

我不明白为什么会发生这种事。

EN

回答 1

Stack Overflow用户

发布于 2012-09-13 20:32:32

这通常意味着ValidationTool (或批注处理器)不能与最新版本的JobRequestFactory一起运行,特别是在JobRequest不存在、JobRequestFactory没有返回JobRequest的方法、findAllJobs不存在或具有不同的签名(例如,接受参数)的情况下运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12401605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档