String nodeId = serverPeer.getServerPeerID();
int nodeId = serverPeer.getServerPeerID();
   protected synchronized void startService() throws Exception   {      if (started)      {         throw new IllegalStateException("Service is already started");      }            super.startService();            try      {           TransactionManager tm = getTransactionManagerReference();                                    ServerPeer serverPeer = (ServerPeer)server.getAttribute(serverPeerObjectName, "Instance");                  MessageStore ms = serverPeer.getMessageStore();                  TransactionRepository tr = serverPeer.getTxRepository();                  PersistenceManager pm = serverPeer.getPersistenceManagerInstance();                  QueuedExecutorPool pool = serverPeer.getQueuedExecutorPool();                           String nodeId = serverPeer.getServerPeerID();                  MessagePullPolicy pullPolicy = new DefaultMessagePullPolicy();                  FilterFactory ff = new SelectorFactory();                  ClusterRouterFactory rf = new DefaultRouterFactory();                           postOffice =  new DefaultClusteredPostOffice(ds, tm, sqlProperties, createTablesOnStartup,                                               nodeId, officeName, ms,                                               pm, tr, ff, pool,                                                groupName,                                               syncChannelConfig, asyncChannelConfig,                                               stateTimeout, castTimeout,                                               pullPolicy, rf,                                               pullSize,                                               statsSendPeriod);                  postOffice.start();                  started = true;               }      catch (Throwable t)      {         throw ExceptionUtil.handleJMXInvocation(t, this + " startService");      }    }