jdon的域模型事件注入问题
最近在项目中使用域模型事件来实现model的懒加载,刚开始在moel类Organization中按照jdon文档的步骤,创建域事件,创建事件监听类,在model中设置注入对象,可以实现事件的依赖注入,后来用同样的方法在另一个类Custom中创建,当运行到该类的属性获取方法getXingzhiText()时,发现需要注入的事件对象classifyValueDomainEvents 为null,出现错误。已经困扰两天了,希望banq能够给予帮助
以下是相关的代码:
model类 Custom :
package dnn.custom.model;
import com.jdon.annotation.model.Inject;
import com.jdon.async.message.EventMessage;
import com.jdon.controller.model.Model;
public class Custom extends Model {
@Inject
private ClassifyValueDomainEvents classifyValueDomainEvents = null;
private String xingzhiText;
public String getXingzhiText(){
EventMessage message = classifyValueDomainEvents.getClassifyValue(this);
message.getEventResult();
return this.xingzhiText;
}
public void setXingzhiText(String xingzhiText){
this.xingzhiText = xingzhiText;
}
...
}
域事件类ClassifyValueDomainEvents:
package dnn.custom.model;
import com.jdon.annotation.Introduce;
import com.jdon.annotation.model.Send;
import com.jdon.domain.message.DomainMessage;
@Introduce("message")
public class ClassifyValueDomainEvents {
@Send("getClassifyValue")
public DomainMessage getClassifyValue(Custom custom) {
return new DomainMessage(custom);
}
}
事件监听类 ClassifyValueMessageListener:
package dnn.custom.service;
import com.jdon.annotation.Component;
import com.jdon.domain.message.DomainMessage;
import com.jdon.domain.message.MessageListener;
import com.jdon.model.ModelKey;
import com.jdon.model.ModelManager;
import dnn.custom.model.Custom;
import dnn.organization.model.Organization;
@Component("getClassifyValue")
public class ClassifyValueMessageListener implements MessageListener {
private CustomService customService= null;
private ModelManager modelManager = null;
public ClassifyValueMessageListener(CustomService customService,ModelManager modelManager){
this.customService = customService;
this.modelManager = modelManager;
}
@Override
public void action(DomainMessage eventMessage) {
Custom custom = (Custom)eventMessage.getEventSource();
try {
} catch (Exception e) {
e.printStackTrace();
}
}
}
[该贴被yxh1122于2010-06-08 09:14修改过]