--- # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. title: Module Organization --- pipeline:textile h2. Overview ActiveMQ 6.x Should * Not conflict with ActiveMQ 5.x if it's in the CLASSPATH * Have a module and package structure that is OSGi friendly for extending. * Not depend on ActiveMQ 5.x modules h2. Modules h3. Core Modules These modules define the basic architecture and extension points of ActiveMQ 6.x. It should be a goal to keep these as small and concise as possible. Modules: * activemq-util: Common interfaces and utility classes * activemq-flow: Flow control model interfaces and implementation h3. WireFormat/Protocol Handler implementations Modules: * activemq-protocol: Holds the WireFormat and Protocol Handler API interfaces * activemq-openwire * activemq-stomp h3. Transport Layer implementations Modules: * activemq-transport: Holds Transport API defintion and VM implementation. * activemq-bio: Holds the blocking IO implementations * activemq-nio: Holds the non-blocking IO implementations h3. Dispatcher implementations Modules: * activemq-dispatcher : Dispatches API and default implementation * activemq-dispatcher-nio : Holds an NIO aware dispatcher implementation h3. Data Store implementations Modules: * activemq-store: Holds the Store API Definition and a memory based impelementation * activemq-kaha h3. Broker Service: activemq-broker Provides: * The APIs and implementations for configuring and starting broker instances ( via java/xml/spring etc.) h3. Client Library: activemq-client Provides: * JMS client API implementation h2. Packages To avoid class conflicts, we should pick a new package base. How does this sound: @org.apache.activemq.puma@ ?