[ 
https://issues.apache.org/jira/browse/CAMEL-4397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13109460#comment-13109460
 ] 

Sergey Zhemzhitsky edited comment on CAMEL-4397 at 9/21/11 1:29 PM:
--------------------------------------------------------------------

Hi guys,

What do you think about org.apache.camel.spi.RoutePolicy implementation that 
uses hazelcast to support distributed locking/unloking? 

Such a route policy will force the route to run only on a single node in the 
cluster. Moreover there can be two route policies: 
# the first one will create a distributed lock on every incoming exchange and 
will release the lock when exchange processing completes. This policy will 
allow to process exchange only on a single node of the cluster at a given time. 
When exchange processing completes the second node in the cluster will be able 
to obtain a lock.
# the second route policy will create a distributed lock on route startup, and 
will release the lock on route shutdown, so the route will run only on a single 
node in the cluster all the time.


      was (Author: szhemzhitsky):
    Hi guys,

What do you think about org.apache.camel.spi.RoutePolicy implementation that 
uses hazelcast to support distributed locking/unloking? 

Such a route policy will force the route to run only on a single node in the 
cluster.

  
> add route support for Hazelcast distributed locking/unlocking
> -------------------------------------------------------------
>
>                 Key: CAMEL-4397
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4397
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-hazelcast
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>             Fix For: 2.9.0
>
>         Attachments: CAMEL-4397.patch
>
>
> add support for Hazelcast distributed locking/unlocking APIs in a route...see 
> http://www.hazelcast.com/documentation.jsp#Lock
> something like this...
> {code}
> from("seda:lockTest")
>   .doTry()
>     .setHeader(HazelcastConstants.LOCK_OBJECT, simple("ID-${header.id}"))
>     .to("hazelcast:lock")
>     .setBody(simple("processed[${body}]"))
>     .to("mock:mock")
>   .doFinally()
>     .to("hazelcast:unlock");
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to