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
Cons
- Creates a lot of modules. Perhaps we could merge some modules (like core/command/management)