Model:
@Model
public class CoderProperty
{
int id;
String first;
String second;
String third;
String last;
int maxLenth;
int maxSize;
@Inject
DomainEvent de ;
boolean isNew = true;// 是否已经更新
。。。。。忽略掉get/set方法
/
* 计算下一个缓冲自增长量的最大值
*/
public void compute()
{
int current = Integer.parseInt(getLast());
int temp = Double.valueOf(Math.pow(10, getMaxLenth())).intValue();
this.setLast(String.valueOf(current + temp + getMaxSize()).substring(1));
setNew(false);
}
/
* 修改编码器信息
*/
public void update()
{
compute();
de.updateCoderProperty(this);
}
	
	/
	 * @return the de
	 */
	public DomainEvent getDe()
	{
		return de;
	}
	/
	 * @param de the de to set
	 */
	public void setDe(DomainEvent de)
	{
		this.de = de;
	}
}
DomainEvent
@Introduce("message")
public class DomainEvent
{
	/
	 * 异步修改编码器信息
	 * @param cp
	 * @return
	 */
	@Send("modifyCoderProperty")
	public DomainMessage updateCoderProperty(CoderProperty cp)
	{
		return new DomainMessage(cp);
	}
}
components
@Component("modifyCoderProperty")
public class ModifyCoderProperty implements MessageListener
{
	CoderDao cd;
	/
	 * 执行编码器属性修改工作
	 * @see com.jdon.domain.message.MessageListener#action(com.jdon.domain.message.DomainMessage)
	 */
	public void action(DomainMessage arg0)
	{
		CoderProperty cp = (CoderProperty) arg0.getEventSource();
		cd.updBean(cp);
		cp.setNew(true);
	}
}
当我调用model中的update方法时,发现被注入进去的domainevent为null,导致无法继续执行,请老大给看看是不是我哪写错了。
[该贴被lhcli于2010-07-15 16:37修改过]