/ / एक विशेष तकनीक से डी-युगल को एक अच्छा इंटरफ़ेस लिखना ... अपवादों के बारे में क्या करना है? - जावा, इंटरफ़ेस, अमेज़ॅन-वेब-सर्विसेज, डिकॉउलिंग

एक विशेष तकनीक से डी-जोड़ी के लिए एक अच्छा इंटरफ़ेस लिखना ... अपवादों के बारे में क्या करना है? - जावा, इंटरफ़ेस, अमेज़ॅन-वेब-सेवाएं, decoupling

मैं डे-युगल को जावा इंटरफ़ेस लिखना चाहता हूंएक विशेष तकनीक से, अपवादों को अग्रेषित करने का सबसे अच्छा तरीका क्या है। बता दें कि जिस तकनीक से मैं डी-कपल करना चाहता हूं, वह अमेज़ॅन एसक्यूएस है। अमेज़ॅन SQS अनिवार्य रूप से एक कतार सेवा है और मैं जितना संभव हो उतना लचीला होना चाहता हूं और मैं आसानी से RabbitMQ या अन्य कतार सेवा के साथ SQS को प्रतिस्थापित करने का विकल्प रखना चाहता हूं।

यहाँ मेरे पास अभी तक क्या है:

public interface QueueService {

// URL of the Queue Server
public void setURL(String url);
public String getURL();

public Msg getMessage() throws QueueServiceException;
public void deleteMessage(String messageId) throws QueueServiceException;

}

GetMessage का SQS कार्यान्वयन संभवतः हैकाफी आसान है, यह सिर्फ अमेज़ॅन एडब्ल्यूएस जावा एसडीके का उपयोग करता है और अनिवार्य रूप से अमेज़ॅनएसक्यूएस वर्ग की प्राप्त करने की विधि। यहाँ AWS जावा SDK में इस विधि के हस्ताक्षर हैं:

  public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest)  throws AmazonServiceException, AmazonClientException;

अब मेरा प्रश्न यह है कि मैं इनसे क्या करूँQueueService इंटरफ़ेस के कार्यान्वयन में अपवाद ... क्या मैं इन अपवादों (जो एक विशेष तकनीक के लिए विशिष्ट हैं) को पकड़ता हूं और फिर से QueueServiceException के रूप में फेंक देता हूं?

try {
messages = amazonSQS.receiveMessage(receiveMessageRequest).getMessages()
} catch(AmazonServiceException ase) {
throw new QueueServiceException();
}

QueueServiceException है:

public class QueueServiceException extends Exception {

public QueueServiceException (String message){
super(message);
}

public QueueServiceException(String message, Throwable cause){
super(message, cause);

}

}

कोई विचार ?

चियर्स!

उत्तर:

जवाब के लिए 2 № 1

आप करने जा रहे हैं अपवाद लपेटना। वसंत ऐसा करता है। मूल रूप से प्रदाता विशिष्ट अपवाद को पकड़ें और अपने अपवाद के रूप में पुनर्विचार करें।