private JmsDestinationImpl validateDestination ( Destination destination ) throws JMSException { // if this is an identified producer, throw an // UnsupportedOperationException as this is an unidentified producer // method. if ( this . dest != null ) { if ( destination == null ) { throw ( InvalidDestinationException ) JmsErrorUtils . newThrowable ( InvalidDestinationException . class , "INVALID_VALUE_CWSIA0281" , new Object [ ] { "Destination" , null } , tc ) ; } throw ( UnsupportedOperationException ) JmsErrorUtils . newThrowable ( UnsupportedOperationException . class , "DEST_SPECIFIED_ON_SEND_CWSIA0066" , null , tc ) ; } // if the supplied destination is set to null, or it isn't a jetstream // destination, throw a jms InvalidDestinationException. // Note that in some situations this method call can return a _different_ // destination than the one passed in as the parameter (e.g. Spring). JmsDestinationImpl nativeDest = JmsDestinationImpl . checkNativeInstance ( destination ) ; // for an identified producer, this check will have been done at constructor time. if ( this . dest == null ) { // Check that this destination is not blocked from creating consumers JmsDestinationImpl . checkBlockedStatus ( nativeDest ) ; } return nativeDest ; }
This method validates destination and returns native destination if validation is proper