Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • common: module contains useful functions for other modules
  • core-api: user API for writing new routes with OpenHub framework
  • core-spi: interface for internal use in OpenHub framework components
  • core: basic implementation modulemodule with core functionality, implements API and SPI interfaces 
  • test: module with basic configuration and parent classes for unit tests
  • components: OpenHub framework components
  • examples: examples how to use OpenHub framework
  • web: configures OpenHub as web application, "backend" for admin-console client , with REST interface implementation
  • admin-console: admin GUI client written in React
  • war: WAR build

Tip

See Reference implementation how to use dependencies in a specific project.


Code Block
			<dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-common</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-core-api</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-core-spi</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-core</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-components</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-test</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-examples</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-admin-console</artifactId>
            </dependency>
            <dependency>
                <groupId>org.openhubframework</groupId>
                <artifactId>openhub-war</artifactId>
            </dependency>

...

Tip

OpenHub framework depends on several Camel components and if you want to use another Camel component with same Camel's version then you can do it:

  1. import dependencies from OpenHub framework

    Code Block
    <dependency>
     <groupId>org.openhubframework</groupId>
     <artifactId>openhub</artifactId>
     <version>${openhub-version}<<version>2.0.0-SNAPSHOT</version>
     <scope>import</scope>
     <type>pom</type>
    </dependency>


  2. use specific component which you want

    Code Block
    <dependency>
     <groupId>org.apache.camel</groupId>
     <artifactId>camel-crypto</artifactId>
    </dependency>


...

Apart from these profiles it's good practice to define Spring profile for each module and use it for configuration all beans in this module.

Defaults Spring profiles are set in  webapplication.xmlproperties, it it's possible to override them by system parameter  Environment parameter spring.profiles.active:

...

.

...

Maven profiles

There are also Maven profiles which correspond to Spring profiles. Maven profiles solve dependency to third-party libraries for specific target environment and settings of folders, logs etc. See pom.xml in module web-admin.

...