现在的位置: 首页 > 综合 > 正文

EAS发送消息的代码

2013年10月18日 ⁄ 综合 ⁄ 共 1363字 ⁄ 字号 评论关闭
/**
     * 发送信息
     * @param ctx
     * @param remindPersonId 接受人id
     * @param title 消息标题
     * @param sendMessage 消息内容
     */
    private static void sendMessage(Context ctx, String remindPersonId, String title, String sendMessage){
    	try{
    		SolutionInfo solution = MetaDataLoaderFactory.getLocalMetaDataLoader(ctx).getSolution();
    		SenderAgent sender = SenderAgent.getSenderAgent();
    		LanguageCollection language = null;
            if(solution != null){
            	language = solution.getLanguages();
            }
            Message message = MessageFactory.newMessage("kingdee.workflow");
            if(language.size()>0){
            	for(int i=0; i<language.size(); i++){
		           	 message.setLocaleStringHeader("title", title, language.get(i).getLocale());
		           	 message.setLocaleStringHeader("sender", ContextHelperFactory.getLocalInstance(ctx).getCurrentUser().getName(), language.get(i).getLocale());
		           	 message.setLocaleStringHeader("body", sendMessage, language.get(i).getLocale());
	           	 }
	           	 message.setIntHeader("type", MsgType.NOTICE_VALUE);//设置消息类型为通知
	           	 message.setIntHeader("bizType", MsgBizType.FORWARN_VALUE);//业务类型设置为工作流
	           	 message.setIntHeader("sourceStatus", MsgSourceStatus.EMPTY_VALUE);//设置任务状态,此处是通知消息,所以设置空
	           	 message.setIntHeader("priority", MsgPriority.MIDDLE_VALUE);//设置消息优先级,自己根据需要设定相应的级别
	           	 message.setStringHeader("databaseCenter", ctx.getAIS());//得到数据中心
	           	 message.setStringHeader("solution", ctx.getSolution());//设置解决方案
	           	 message.setStringHeader("receiver",remindPersonId);//设置接收用户ID
	           	 sender.sendMessage(message);//发送消息
            }
    	}catch(Exception e){
    		e.printStackTrace();
    	}

抱歉!评论已关闭.