playframework-2.0 - PlayFramework,如何注册一个BeanPersistListener?

标签 playframework-2.0 listener ebean

我发现了BeanPersistListener我想注册到我的一些模型,但我没有从 Ebean 或 PlayFramework 找到任何有关如何集成它的文档。

来自文档:

A BeanPersistListener is either found automatically via class path search or can be added programmatically via ServerConfiguration.addEntity().

显然,它不会自动找到(我在实现的方法中添加了一些Logger.info,但没有显示任何内容),所以我想通过 ServerConfiguration 添加它,但是如何添加呢?哪里?

我也怀疑是版本问题。据我所知,BeanPersistListener 来自 Ebean 2.6.0,但我找不到正在运行的 Ebean PlayFramework 版本(我使用的是 2.0.4)。

最佳答案

First Play 2.0.4 使用 Ebean 版本 2.7.3 [1]

为了注册您的监听器,您可以尝试使用 ServerConfigStartup,如 documentation 所示。 :

package models;

import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.event.ServerConfigStartup;
import com.avaje.ebean.event.BeanPersistListener;

public class MyServerConfigStartup implements ServerConfigStartup {
    @Override
    public void onStart(ServerConfig serverConfig) {
        serverConfig.add(new BeanPersistListener() {
            ....
        });
    }
}

我从未测试过,我认为值得一试:-)

评论更新:

您需要将这些类放在 models 包或 models 包的子包下,以便 Ebean 可以找到它们。

关于playframework-2.0 - PlayFramework,如何注册一个BeanPersistListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847063/

相关文章:

playframework-2.0 - 在哪里放置资源?

java - java中的事件是在单独的线程中处理还是我必须自己做?

c# - 当我尝试监听端口时,请求的地址在其上下文中无效

postgresql - ebean 使用 setMaxRows 限制结果集

java - Ebean 在 Play Framework 2 中查找错误的序列名称

java - 迁移到 2.4 后 Play 的路由文件出现问题

Scala 类型错误 - 不带类型参数,应为 : one

java - 表单中填写的值未保存在数据库中

java - play 2.2.1 嵌入静态HTML页面

javascript - 如何使用 JavaScript 将事件监听器添加到服务器返回的不同数量的元素中