////////////我是想实现用服务器openfire针对spark发送消息 这就是我写的代码package org.jivesoftware.openfire.plugin;import java.io.File;import org.jivesoftware.openfire.MessageRouter;
import org.jivesoftware.openfire.PresenceManager;
import org.jivesoftware.openfire.SessionManager;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.event.SessionEventDispatcher;
import org.jivesoftware.openfire.event.SessionEventListener;
import org.jivesoftware.openfire.session.Session;
import org.jivesoftware.util.JiveGlobals;
import org.xmpp.packet.JID;
import org.xmpp.packet.Message;
import org.jivesoftware.openfire.plugin.*;
import org.jivesoftware.openfire.user.User;
import org.jivesoftware.openfire.user.UserManager;/**
 * MotD (Message of the Day) plugin.
 * 
 * @author <a href="mailto:[email protected]">Ryan Graham</a>
 */
public class MotDPlugin implements Plugin {
   private static final String SUBJECT  =  "plugin.motd.subject";
   private static final String MESSAGE  =  "plugin.motd.message";
   private static final String ENABLED  =  "plugin.motd.enabled";
   private static final String Touser   =  "plugin.motd.touser";
   private static final String FromUser =  "plugin.motd.fromuser";
   String success;
   
   //private JID serverAddress;
   private JID  fromUserJid= null;
   private JID  toUserJid;
   private MessageRouter router;   private MotDSessionEventListener listener = new MotDSessionEventListener();   public void initializePlugin(PluginManager manager, File pluginDirectory) {
   fromUserJid = new JID(XMPPServer.getInstance().getServerInfo().getXMPPDomain());
      router = XMPPServer.getInstance().getMessageRouter();      SessionEventDispatcher.addListener(listener);
   }   public void destroyPlugin() {
      SessionEventDispatcher.removeListener(listener);      listener = null;
      fromUserJid = null;
      router = null;
   }   public void setSubject(String message) 
   {
      JiveGlobals.setProperty(SUBJECT, message);
   }
   public void setfromUser(String message)
   {
   JiveGlobals.setProperty(FromUser, message);
   }
   public void settoUser(String message)
   {
   JiveGlobals.setProperty(Touser, message);
   }   public void setMessage(String message) 
   {
      JiveGlobals.setProperty(MESSAGE, message);
   }
   //get方法
   public String getSubject() 
   {
      return JiveGlobals.getProperty(SUBJECT, "Message of the Day");
   }
   public String getfromUser()
   {
   return JiveGlobals.getProperty(FromUser, "all");
   }
   public String gettoUser()
   {
   return JiveGlobals.getProperty(Touser,"all");
   }
   public String getMessage() 
   {
      return JiveGlobals.getProperty(MESSAGE, "Big Brother is watching.");
   }
 
    
   public void setEnabled(boolean enable) {
      JiveGlobals.setProperty(ENABLED, enable ? Boolean.toString(true) : Boolean.toString(false));
   }   public boolean isEnabled() {
      return JiveGlobals.getBooleanProperty(ENABLED, false);
   }   private class MotDSessionEventListener implements SessionEventListener {
      public void sessionCreated(Session session) { 
         if (isEnabled()) {            
            if(FromUser!=null)
             fromUserJid=new JID(FromUser+"@"+"lihong"); 
             else
             fromUserJid=new JID("admin@"+"lihong");
            
           
            SessionManager sessionManager;            
            sessionManager.sendServerMessage("321","Hello World!");  
            
            PresenceManager presenceManager;
            private UserManager userManager = UserManager.getInstance();//这里也有错误
            User user = userManager.getUser();//这里参数有误。。
            
            
            if (presenceManager.isAvailable(user)) 
            {
                // online messages
      toUserJid = presenceManager.getPresence(user).getFrom();
      sessionManager.sendServerMessage(Touser ,"Hello World!"); 
      success="true";
      }
            else
            {
       // offline message
      toUserJid =new JID(Touser+"@"+"lihong"); 

      if(toUserJid!=null)
      {
      Message msg = new Message();
      msg.setBody(getMessage());
      msg.setTo(toUserJid);
      msg.setFrom(fromUserJid);
      XMPPServer.getInstance().getOfflineMessageStrategy().storeOffline(msg);
      }
      success="true";
      }     
         }
      }
   }
}