Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.apache.catalina.tribes;
 
Channel Exception
A channel exception is thrown when an internal error happens somewhere in the channel.
When a global error happens, the cause can be retrieved using getCause()

If an application is sending a message and some of the recipients fail to receive it, the application can retrieve what recipients failed by using the getFaultyMembers() method. This way, an application will always know if a message was delivered successfully or not.
 
 public class ChannelException extends Exception {
     private static final long serialVersionUID = 1L;
    
Empty list to avoid reinstatiating lists
 
     protected static final FaultyMember[] EMPTY_LIST = new FaultyMember[0];
     /*
      * Holds a list of faulty members
      */
     private ArrayList<FaultyMemberfaultyMembers=null;

    
Constructor, creates a ChannelException

See also:
java.lang.Exception.java.lang.Exception.()
 
     public ChannelException() {
         super();
     }

    
Constructor, creates a ChannelException with an error message

See also:
java.lang.Exception.java.lang.Exception.(java.lang.String)
 
     public ChannelException(String message) {
         super(message);
     }

    
Constructor, creates a ChannelException with an error message and a cause

Parameters:
message String
cause Throwable
See also:
java.lang.Exception.java.lang.Exception.(java.lang.String,java.lang.Throwable)
 
     public ChannelException(String messageThrowable cause) {
         super(messagecause);
     }

    
Constructor, creates a ChannelException with a cause

Parameters:
cause Throwable
See also:
java.lang.Exception.java.lang.Exception.(java.lang.Throwable)
 
     public ChannelException(Throwable cause) {
         super(cause);
     }

    
Returns the message for this exception

Returns:
String
See also:
java.lang.Throwable.getMessage()
 
     @Override
     public String getMessage() {
         StringBuilder buf = new StringBuilder(super.getMessage());
         if (==null || .size() == 0 ) {
             buf.append("; No faulty members identified.");
         } else {
             buf.append("; Faulty members:");
             for ( int i=0; i<.size(); i++ ) {
                 FaultyMember mbr = .get(i);
                 buf.append(mbr.getMember().getName());
                 buf.append("; ");
             }
         }
         return buf.toString();
     }

    
Adds a faulty member, and the reason the member failed.

Parameters:
mbr Member
x Exception
    public boolean addFaultyMember(Member mbrException x ) {
        return addFaultyMember(new FaultyMember(mbr,x));
    }

    
Adds a list of faulty members

Parameters:
mbrs FaultyMember[]
    public int addFaultyMember(FaultyMember[] mbrs) {
        int result = 0;
        for (int i=0; mbrs!=null && i<mbrs.lengthi++ ) {
            if ( addFaultyMember(mbrs[i]) ) result++;
        }
        return result;
    }

    
Adds a faulty member

Parameters:
mbr FaultyMember
    public boolean addFaultyMember(FaultyMember mbr) {
        if ( this.==null ) this. = new ArrayList<>();
        if ( !.contains(mbr) ) return .add(mbr);
        else return false;
    }

    
Returns an array of members that failed and the reason they failed.

Returns:
FaultyMember[]
    public FaultyMember[] getFaultyMembers() {
        if ( this.==null ) return ;
        return .toArray(new FaultyMember[.size()]);
    }

    

Title: FaultyMember class

Description: Represent a failure to a specific member when a message was sent to more than one member

Version:
1.0
    public static class FaultyMember {
        protected final Exception cause;
        protected final Member member;
        public FaultyMember(Member mbrException x) {
            this. = mbr;
            this. = x;
        }
        public Member getMember() {
            return ;
        }
        public Exception getCause() {
            return ;
        }
        @Override
        public String toString() {
            return "FaultyMember:"+.toString();
        }
        @Override
        public int hashCode() {
            return (!=null)?.hashCode():0;
        }
        @Override
        public boolean equals(Object o) {
            if (==null || (!(o instanceof FaultyMember)) || (((FaultyMember)o).==null)) return false;
            return .equals(((FaultyMember)o).);
        }
    }
New to GrepCode? Check out our FAQ X