Developers
Source tree
The source tree is organized by "features", some being optionals and others .... not.
|- apache-servicemix (distributions) |- bundles (OSGi bundles for third party libraries) |- camel (camel component for smx4) |- examples (well, examples...) |- gshell (shell console in osgi + some osgi commands) |- itests (integration tests) |- jbi (jbi 1.0 layer) |- main (launcher jar, which contains the OSGi framework) |- management (jmx based management) |- nmr (the core nmr) \- transaction (transaction manager)
Of course more features will be added over time, but keeping things organized will help on the long term
Building
Checkout using svn:
svn co https://svn.apache.org/repos/asf/servicemix/smx4/all smx4
then use maven to build:
mvn
You will find the binary distributions in the apache-servicemix/target
folder.
You probably want to grab the components and build those too
svn co https://svn.apache.org/repos/asf/servicemix/components/components-pom/trunk smx4-components
Running
After having unzipped the binary distribution, you should be able to run
bin/servicemix.sh
and see something like:
Welcome to ServiceMix. ===================== [org.ops4j.pax.configmanager.internal.Activator] : Starting [org.ops4j.pax.confman.pax-confman-propsloader]... [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Using configuration from [/Users/gnodet/smx4/apache-servicemix/target/apache-servicemix-4.0-SNAPSHOT/conf] [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Using configuration from [/Users/gnodet/smx4/apache-servicemix/target/apache-servicemix-4.0-SNAPSHOT/conf] [org.ops4j.pax.configmanager.internal.ManagedFactoryPropertiesProcessor] : {threaded=true, serviceUrl=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi, daemon=true, objectName=connector:name=rmi} [org.ops4j.pax.configmanager.internal.ManagedFactoryPropertiesProcessor] : filter = ( &(service.factoryPid=org.apache.servicemix.management.JmxConnectorServiceFactory) (service.pid=org.apache.servicemix.management.JmxConnectorServiceFactory.0) ) [org.ops4j.pax.configmanager.internal.ManagedFactoryPropertiesProcessor] : create -> org.apache.servicemix.management.JmxConnectorServiceFactory.7b9d89a0-4726-4d36-ac5c-34671225c243 [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Register configuration [org.apache.servicemix.management.JmxConnectorServiceFactory] [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Register configuration [org.apache.servicemix.shell] [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Register configuration [org.apache.servicemix.transaction] [org.ops4j.pax.configmanager.internal.ConfigurationAdminFacade] : Register configuration [org.ops4j.pax.logging] org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling SLF4J API support. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Jakarta Commons Logging API support. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Log4J API support. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Avalon Logger API support. Updated: org.apache.servicemix.management.JmxConnectorServiceFactory.7b9d89a0-4726-4d36-ac5c-34671225c243 with props ({threaded=true, service.pid=org.apache.servicemix.management.JmxConnectorServiceFactory.7b9d89a0-4726-4d36-ac5c-34671225c243, serviceurl=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi, objectname=connector:name=rmi, service.factorypid=org.apache.servicemix.management.JmxConnectorServiceFactory, daemon=true}) ____ _ __ __ _ / ___| ___ _ ____ _(_) ___ ___| \/ (_)_ __ \___ \ / _ \ '__\ \ / / |/ __/ _ \ |\/| | \ \/ / ___) | __/ | \ V /| | (_| __/ | | | |> < |____/ \___|_| \_/ |_|\___\___|_| |_|_/_/\_\ ServiceMix (4.0-SNAPSHOT) Type 'help' for more information. -------------------------------------------------------------------------------------------------------------------------------------- gnodet@Guillaume-Nodets-MacPro.local:/>
Enter help
and try a few commands.