Hi Kishanthan, This topic did get me thinking a little more, and I ended up posting a question on SO [1]. The SO answer [2] provides a possible rationale for the naming of the exception, however, I couldn't see the same rationale mirrored in .net [3], ruby [4] or python [5].
This topic is the sort of thing that could be argued either way without coming to a conclusion, so please ignore my previous email. *MessageSendFailedException *is an appropriate name :) Many thanks, Chris --- [1] http://stackoverflow.com/q/21545803/1033422 [2] http://stackoverflow.com/a/21546215/1033422 [3] http://msdn.microsoft.com/en-us/library/system.net.mail.smtpexception(v=vs.110).aspx [4] http://ruby-doc.org/stdlib-2.0/libdoc/net/smtp/rdoc/Net/SMTPError.html [5] http://docs.python.org/2/library/smtplib.html On Tue, Feb 4, 2014 at 6:35 AM, Kishanthan Thangarajah <[email protected]>wrote: > Hi Chris, > > [Forwarding to architecture@] > > We thought of having some meaningful names for the exceptions. So came up > with this, which include the "Failed" part. I was looking into some > references on exception thrown when sending messages, before coming up with > these names. For example [1]. WDYT? > > Thanks, > Kishanthan. > [1] > http://docs.oracle.com/javaee/6/api/javax/mail/SendFailedException.html > > > > On Tue, Feb 4, 2014 at 11:41 AM, chris snow <[email protected]> wrote: > >> hi Kishanthan, sorry for the dumb (and late) question, but is the extra >> word 'Failed' necessary? >> >> Instead of *MessageSendFailedException *why not just >> *MessageSendException*? >> >> >> On Tue, Feb 4, 2014 at 5:19 AM, Kishanthan Thangarajah < >> [email protected]> wrote: >> >>> As per feedback and suggestions, the following are the defined methods >>> for ClusteringAgent. Also we have tried to remove the dependency on the >>> configuration-context model from clustering impl, as there was no need/use >>> for that. With these, we now have a basic working clustering >>> implementation, supporting multicast and wka membership schemes based on >>> hazelcast. We will next arrange the design and code review sessions. >>> >>> *ClusteringAgent* >>> >>> /** >>> * Initialize the agent which will initialize this node, and join >>> the cluster >>> */ >>> void *init*() throws *ClusterInitializationException*; >>> >>> /** >>> * Shutdown the agent which will remove this node from cluster >>> */ >>> void *shutdown*(); >>> >>> /** >>> * Send a message to all members in the cluster >>> */ >>> void *sendMessage*(ClusterMessage msg) throws >>> *MessageSendFailedException*; >>> >>> /** >>> * Send a message to a set of specific members in the cluster >>> */ >>> void *sendMessage*(ClusterMessage msg, List<ClusterMember> members) >>> throws *MessageSendFailedException*; >>> >>> >>> On Mon, Jan 20, 2014 at 2:49 PM, Kishanthan Thangarajah < >>> [email protected]> wrote: >>> >>>> >>>> >>>> >>>> On Sun, Jan 19, 2014 at 3:22 PM, Afkham Azeez <[email protected]> wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Sun, Jan 19, 2014 at 3:11 PM, Isuru Perera <[email protected]> wrote: >>>>> >>>>>> How about following change? >>>>>> >>>>>> s/ClusteringFault/ClusteringException >>>>>> >>>>> >>>>> >>>>> Yes, no more Fault in exception names. Those exception names were >>>>> inspired by SOAP. In addition, instead of ClusteringException, we need to >>>>> have some specific types; e.g. ClusterInitializationException, >>>>> MessageFailedException etc. >>>>> >>>> >>>> +1. >>>> >>>> Thanks, >>>> Kishanthan. >>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Sun, Jan 19, 2014 at 11:40 AM, Kishanthan Thangarajah < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Clustering SPI provides the ability to plug-in different clustering >>>>>>> implementation to carbon. By default, carbon will ship hazel-cast based >>>>>>> clustering impl. There will be a separate file (cluster.xml) for cluster >>>>>>> configuration. >>>>>>> >>>>>>> The SPI will contain the following main interfaces. >>>>>>> >>>>>>> *ClusteringAgent* - is responsible for initializing and managing >>>>>>> this node in the cluster. >>>>>>> *MembershipScheme* - a representation of a membership scheme such >>>>>>> as "multicast" or "well-known address (wka) used in the cluster. >>>>>>> >>>>>>> A high-level view can be as follows >>>>>>> >>>>>>> [image: Inline image 1] >>>>>>> >>>>>>> When the cluster agent is successfully initialized, it will also >>>>>>> register the Cluster Service (being discussed at "[C5] Clustering API"). >>>>>>> The Cluster Service will use the clustering agent underneath at >>>>>>> implementation level for its required operations. Based on previous >>>>>>> experiences, we have defined the following methods for clustering agent >>>>>>> and >>>>>>> membership scheme for now. Based on the final outcome of this >>>>>>> discussion, >>>>>>> they may get changed. >>>>>>> >>>>>>> *ClusteringAgent* >>>>>>> >>>>>>> /** >>>>>>> * Initialize the agent which will initialize this node, and >>>>>>> join the cluster >>>>>>> */ >>>>>>> void *init*() throws ClusteringFault; >>>>>>> >>>>>>> /** >>>>>>> * Shutdown the agent which will remove this node from cluster >>>>>>> */ >>>>>>> void *shutdown*() throws ClusteringFault; >>>>>>> >>>>>>> /** >>>>>>> * Set carbon configuration context to this agent to be used in >>>>>>> the clustering impl >>>>>>> */ >>>>>>> void *setConfigurationContext*(CarbonConfigurationContext >>>>>>> configurationContext); >>>>>>> >>>>>>> /** >>>>>>> * Get the list of static members >>>>>>> */ >>>>>>> List<ClusterMember> *getStaticMembers*(); >>>>>>> >>>>>>> /** >>>>>>> * Get the number of members alive. >>>>>>> */ >>>>>>> int *getAliveMemberCount*(); >>>>>>> >>>>>>> /** >>>>>>> * Send a message to all members in the cluster >>>>>>> */ >>>>>>> List<ClusteringCommand> *sendMessage*(ClusterMessage msg, >>>>>>> boolean isSync) >>>>>>> throws ClusteringFault; >>>>>>> >>>>>>> /** >>>>>>> * Send a message to a set of specific members in the cluster >>>>>>> */ >>>>>>> List<ClusteringCommand> *sendMessage*(ClusterMessage msg, >>>>>>> List<ClusterMember> members, boolean isSync) >>>>>>> throws ClusteringFault; >>>>>>> >>>>>>> >>>>>>> *MembershipScheme* >>>>>>> >>>>>>> void *init*() throws ClusteringFault; >>>>>>> >>>>>>> void *joinGroup*() throws ClusteringFault; >>>>>>> >>>>>>> >>>>>>> Thoughts? >>>>>>> >>>>>>> Thanks, >>>>>>> Kishanthan. >>>>>>> -- >>>>>>> *Kishanthan Thangarajah* >>>>>>> Senior Software Engineer, >>>>>>> Platform Technologies Team, >>>>>>> WSO2, Inc. >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> Mobile - +94773426635 >>>>>>> Blog - *http://kishanthan.wordpress.com >>>>>>> <http://kishanthan.wordpress.com>* >>>>>>> Twitter - *http://twitter.com/kishanthan >>>>>>> <http://twitter.com/kishanthan>* >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Architecture mailing list >>>>>>> [email protected] >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Isuru Perera >>>>>> Senior Software Engineer | WSO2, Inc. | http://wso2.com/ >>>>>> Lean . Enterprise . Middleware >>>>>> >>>>>> about.me/chrishantha >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Afkham Azeez* >>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>> * <http://www.apache.org/>* >>>>> *email: **[email protected]* <[email protected]> >>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: * >>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>> *twitter: >>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>> >>>>> >>>>> *Lean . Enterprise . Middleware* >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Kishanthan Thangarajah* >>>> Senior Software Engineer, >>>> Platform Technologies Team, >>>> WSO2, Inc. >>>> lean.enterprise.middleware >>>> >>>> Mobile - +94773426635 >>>> Blog - *http://kishanthan.wordpress.com >>>> <http://kishanthan.wordpress.com>* >>>> Twitter - *http://twitter.com/kishanthan >>>> <http://twitter.com/kishanthan>* >>>> >>> >>> >>> >>> -- >>> *Kishanthan Thangarajah* >>> Senior Software Engineer, >>> Platform Technologies Team, >>> WSO2, Inc. >>> lean.enterprise.middleware >>> >>> Mobile - +94773426635 >>> Blog - *http://kishanthan.wordpress.com >>> <http://kishanthan.wordpress.com>* >>> Twitter - *http://twitter.com/kishanthan >>> <http://twitter.com/kishanthan>* >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Check out my professional profile and connect with me on LinkedIn. >> http://lnkd.in/cw5k69 >> > > > > -- > *Kishanthan Thangarajah* > Senior Software Engineer, > Platform Technologies Team, > WSO2, Inc. > lean.enterprise.middleware > > Mobile - +94773426635 > Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>* > Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>* > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Check out my professional profile and connect with me on LinkedIn. http://lnkd.in/cw5k69
<<C5 - Clustering.png>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
