From Karaf 3 on the module structure is layed out by features on the first level. A new module core is introduced that contains shared services for the feature.

The goal for this was to keep information about a feature together and to offer a common service layer.

For Karaf >= 3 the structure is:

/bundle/core
/bundle/command
/bundle/management
/bundle/web

In camel 2.x the module structure in camel was technology / layer based. So on the first level there was the technology and on the second level the feature.

/shell/bundles
/management/mbeans/bundles

Pros

  • Easier to understand what is contained for a feature
  • Service layer allows to resuse code and makes it easier to add new ways to work with the feature
  • Allow to create highly fine-grained features

Cons

  • Creates a lot of modules. Perhaps we could merge some modules (like core/command/management)

https://issues.apache.org/jira/browse/KARAF-963

  • No labels