Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.7.0
    • Component/s: None
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      I am submitting this component for your review and consideration for its addition as an official Camel component...

      HzlQ component implements a work-queue on top of the Hazelcast in-memory data-grid. Its purpose is to support asynchronous SEDA architectures, similar to the core "SEDA" component. By making use of Hazelcast's implementation of BlockingQueue, it allows the system to scale across multiple machines with minimal or no configuration while the replication features provided increase reliability and fault-tolerance.

      For more information on Hazelcast please refer to : http://www.hazelcast.com/.

      (Hazelcast is released under Apache 2.0 License)

      1. camel-hazelcast-20110228.zip
        80 kB
        Claus Straube
      2. camel-hazelcast-20110228.diff
        605 kB
        Claus Straube
      3. camel-hazelcast-20110225.zip
        80 kB
        Ioannis Polyzos
      4. camel-hazelcast-20110225.diff
        605 kB
        Ioannis Polyzos
      5. camel-hazelcast-20110205.tar.gz
        9 kB
        Ioannis Polyzos
      6. camel-hazelcast-20110205.patch
        49 kB
        Ioannis Polyzos
      7. camel-hzlq-20110126-3.tar.gz
        10 kB
        Ioannis Polyzos
      8. camel-hzlq-20110126-3.patch
        49 kB
        Ioannis Polyzos

        Issue Links

          Activity

          Hide
          Richard Kettelerij added a comment -

          Thanks for contributing. I took the liberty to review your patch, a few minor comments/questions:

          • Is there a reason to name the component "camel-hzlq" instead of just "camel-hazelcast"? Is it because the component supports a subset of Hazelcast its data structures?
          • Is it possible to make the polling interval of the consumer configurable? It's currently set to 1 second, which seems reasonable but might not work for everyone.
          • Consider using ExecutorServiceStrategy in the consumer instead of directly using Java thread pools. You can look up an implementation from the CamelContext.
          Show
          Richard Kettelerij added a comment - Thanks for contributing. I took the liberty to review your patch, a few minor comments/questions: Is there a reason to name the component "camel-hzlq" instead of just "camel-hazelcast"? Is it because the component supports a subset of Hazelcast its data structures? Is it possible to make the polling interval of the consumer configurable? It's currently set to 1 second, which seems reasonable but might not work for everyone. Consider using ExecutorServiceStrategy in the consumer instead of directly using Java thread pools. You can look up an implementation from the CamelContext .
          Hide
          Ioannis Polyzos added a comment -

          Hi Richard,

          Thank you very much for the feedback it is very appreciated.

          I have gone through the changes you suggested (very good points) and a new patch is attached. In the new patch the pool interval is configurable through the "poolInterval" parameter and the consumer make use of the ExecutorServiceStrategy.

          Regarding the name, indeed, I have chosen this name because the component uses only a subset of the Hazelcast data structures. To be more specific it uses only the BlockingQueue implementation. Though I wouldn't mind at all to rename the project if you believe that another name would be more apropriate.

          Show
          Ioannis Polyzos added a comment - Hi Richard, Thank you very much for the feedback it is very appreciated. I have gone through the changes you suggested (very good points) and a new patch is attached. In the new patch the pool interval is configurable through the "poolInterval" parameter and the consumer make use of the ExecutorServiceStrategy. Regarding the name, indeed, I have chosen this name because the component uses only a subset of the Hazelcast data structures. To be more specific it uses only the BlockingQueue implementation. Though I wouldn't mind at all to rename the project if you believe that another name would be more apropriate.
          Hide
          Ioannis Polyzos added a comment -

          fix pool/poll typo...

          Show
          Ioannis Polyzos added a comment - fix pool/poll typo...
          Hide
          Hadrian Zbarcea added a comment -

          I also believe camel-hazelcast is more appropriate and intuitive for a user.

          Show
          Hadrian Zbarcea added a comment - I also believe camel-hazelcast is more appropriate and intuitive for a user.
          Hide
          Ioannis Polyzos added a comment - - edited

          Hi Hadrian,

          Thanks for your feedback ...

          Following your suggestion I have renamed the component into camel-hazelcast and I have uploaded a new patch.

          Also I have put the code into github for easier access, you can check for the latest updates @ https://github.com/ipolyzos/camel-hazelcast

          Show
          Ioannis Polyzos added a comment - - edited Hi Hadrian, Thanks for your feedback ... Following your suggestion I have renamed the component into camel-hazelcast and I have uploaded a new patch. Also I have put the code into github for easier access, you can check for the latest updates @ https://github.com/ipolyzos/camel-hazelcast
          Hide
          Claus Straube added a comment -

          Added a wiki page for the component: https://cwiki.apache.org/confluence/display/CAMEL/Hazelcast+Component. The whole project (the code from Ioannis and me merged) can be found now under https://github.com/catify/camel-hazelcast

          Show
          Claus Straube added a comment - Added a wiki page for the component: https://cwiki.apache.org/confluence/display/CAMEL/Hazelcast+Component . The whole project (the code from Ioannis and me merged) can be found now under https://github.com/catify/camel-hazelcast
          Hide
          Claus Ibsen added a comment -

          Nice Claus.

          Can you attach the component to this JIRA ticket and grant Apache license. We cannot slurp the code from github.
          Using attachments on JIRA is the proper way.

          Show
          Claus Ibsen added a comment - Nice Claus. Can you attach the component to this JIRA ticket and grant Apache license. We cannot slurp the code from github. Using attachments on JIRA is the proper way.
          Hide
          Ioannis Polyzos added a comment -

          Hi Claus,

          Sorry for the delay submitting the source code.

          I submit here the latest version of the camel-hazelcast component source (joined work with Claus) along with a patch containing also the required changes in camel features.

          Show
          Ioannis Polyzos added a comment - Hi Claus, Sorry for the delay submitting the source code. I submit here the latest version of the camel-hazelcast component source (joined work with Claus) along with a patch containing also the required changes in camel features.
          Hide
          Claus Straube added a comment -

          Hi Claus.

          What do you mean with "grant Apache license"? We have the licence header in every file. Is there an additional step to do?

          an other question - is there a way to get the component into the 2.7.0 release?

          Show
          Claus Straube added a comment - Hi Claus. What do you mean with "grant Apache license"? We have the licence header in every file. Is there an additional step to do? an other question - is there a way to get the component into the 2.7.0 release?
          Hide
          Claus Ibsen added a comment -

          trunk: 1075264

          Show
          Claus Ibsen added a comment - trunk: 1075264
          Hide
          Claus Ibsen added a comment -

          @Claus

          When attaching files to JIRA there is a [x] for granting license.

          Show
          Claus Ibsen added a comment - @Claus When attaching files to JIRA there is a [x] for granting license.
          Hide
          Claus Ibsen added a comment -

          @Claus

          Can you add the needed documentation in the wiki?
          See step 7 on this page
          http://camel.apache.org/add-new-component-guide.html

          Show
          Claus Ibsen added a comment - @Claus Can you add the needed documentation in the wiki? See step 7 on this page http://camel.apache.org/add-new-component-guide.html
          Hide
          Claus Straube added a comment -

          @Claus

          I reattached the files, setting the license flag. Can you pls. check if this ok now?
          I added the documentation to the component list.

          Show
          Claus Straube added a comment - @Claus I reattached the files, setting the license flag. Can you pls. check if this ok now? I added the documentation to the component list.
          Hide
          Claus Ibsen added a comment -

          Thanks Claus. The source code is already committed.

          Show
          Claus Ibsen added a comment - Thanks Claus. The source code is already committed.

            People

            • Assignee:
              Claus Ibsen
              Reporter:
              Ioannis Polyzos
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development