Esempio n. 1
0
 /**
  * send a cluster message to one member
  *
  * @param msg message to transfer
  * @param dest Receiver member
  * @see org.apache.catalina.ha.CatalinaCluster#send(org.apache.catalina.ha.ClusterMessage,
  *     org.apache.catalina.tribes.Member)
  */
 @Override
 public void send(ClusterMessage msg, Member dest) {
   try {
     msg.setAddress(getLocalMember());
     int sendOptions = channelSendOptions;
     if (msg instanceof SessionMessage
         && ((SessionMessage) msg).getEventType() == SessionMessage.EVT_ALL_SESSION_DATA) {
       sendOptions = Channel.SEND_OPTIONS_SYNCHRONIZED_ACK | Channel.SEND_OPTIONS_USE_ACK;
     }
     if (dest != null) {
       if (!getLocalMember().equals(dest)) {
         channel.send(new Member[] {dest}, msg, sendOptions);
       } else log.error(sm.getString("simpleTcpCluster.unableSend.localMember", msg));
     } else {
       Member[] destmembers = channel.getMembers();
       if (destmembers.length > 0) channel.send(destmembers, msg, sendOptions);
       else if (log.isDebugEnabled()) log.debug("No members in cluster, ignoring message:" + msg);
     }
   } catch (Exception x) {
     log.error(sm.getString("simpleTcpCluster.sendFailed"), x);
   }
 }
Esempio n. 2
0
 @Override
 public void messageReceived(Serializable message, Member sender) {
   ClusterMessage fwd = (ClusterMessage) message;
   fwd.setAddress(sender);
   messageReceived(fwd);
 }