【发布时间】:2012-02-09 00:46:43
【问题描述】:
我知道直接将函数/匿名类序列化到数据库是不可能的,但是有什么替代方法?你知道任何有用的方法吗?
介绍我的情况:我想根据用户的分数来授予用户“徽章”。所以我有不同类型的徽章,可以通过扩展这个类来轻松定义:
class BadgeType(id:Long, name:String, detector:Function1[List[UserScore],Boolean])
检测器成员是一个遍历分数列表的函数,如果用户有资格获得这种类型的徽章,则返回 true。
问题是每次我想添加/编辑/修改徽章类型时,我都需要编辑源代码,重新编译整个东西并重新部署服务器。如果我可以将所有 BadgeType 实例持久化到数据库中,那将更加有用。但是该怎么做呢?
唯一想到的是将函数的主体作为一个脚本(例如:Groovy),在运行时进行评估。
另一种方法(不涉及数据库)可能是将每种徽章类型放入一个 jar 中,我可以在运行时以某种方式热部署,我猜这是插件系统的工作方式。
你怎么看?
【问题讨论】:
-
我怎么看?我认为你应该问一个比“你怎么看?”更具体的问题
-
@Malvolio 我认为很明显,最后一行只是对我在开头清楚地发布的实际问题的强调:“有哪些选择?你知道任何有用的方法吗? ?”不重复自己是沟通中的常见习语。似乎其他人确实更仔细地阅读了这个问题,因为到目前为止我确实得到了一些很好的答案。
标签: scala serialization plugins