How should an ESB be packaged/deployed?

前端 未结 5 2108
梦毁少年i
梦毁少年i 2021-02-08 20:37

I am trying to wrap my head around Apache Camel, which appears to be a lightweight ESB. If I understand Camel/ESBs correctly, then you can think of a Camel Route as a graph of n

5条回答
  •  借酒劲吻你
    2021-02-08 21:12

    Let me Answer your Questions One by One:

    Provides a descriptive, non-vague list of general factors that should be used to determine how to best deploy an ESB (either as a single EAR with each endpoint being an embedded JAR or as a single "monolithic" JAR);

    Embeded or Monolithic jar doesn't matter. Which matters is Bundled or war deployment. In case of a Standalone bundle you might end-up with a very fat deployment archive having lots of jars to for dependency resolution.

    Fully explains why Camel might not play nicely with Java EE app servers like JBoss or GlassFish

    1. Thread/Resource/Port Management of App-Server/Container may impose restriction.

    2. Conflict of commonly used Library Version

    3. Conflict on ClassLoading mechanism

    Logically, if your container supports OSGi then Camel should not face any problem.

    1. As Apache Camel is a very lightweight Message Router, So you can definitely you can package it in your ear along with your web application as a war file. If you are using maven/Ivy and your web container supports osgi, then Bingo! Life will be much more easier.
    2. Second option is to deploy your application as a bundle
    3. and another is stand-alone Java SE jar.

    Follow the links below[Though, Outdated enough], those will give you step-by-step direction on packaging, at-least clarity on the packaging mechanism:

    Camel Step By Step

    Camel in a Web Application

    Camel Real Life Packaging & Deployment in OSGi environment

提交回复
热议问题