001    /**
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements.  See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache License, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License.  You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the License for the specific language governing permissions and
015     * limitations under the License.
016     */
017    package org.apache.activemq.broker;
018    
019    import java.net.URI;
020    import java.util.Collections;
021    import java.util.Map;
022    import java.util.Set;
023    import java.util.concurrent.ThreadPoolExecutor;
024    import org.apache.activemq.broker.region.Destination;
025    import org.apache.activemq.broker.region.MessageReference;
026    import org.apache.activemq.broker.region.Subscription;
027    import org.apache.activemq.command.ActiveMQDestination;
028    import org.apache.activemq.command.BrokerId;
029    import org.apache.activemq.command.BrokerInfo;
030    import org.apache.activemq.command.ConnectionInfo;
031    import org.apache.activemq.command.ConsumerControl;
032    import org.apache.activemq.command.ConsumerInfo;
033    import org.apache.activemq.command.DestinationInfo;
034    import org.apache.activemq.command.Message;
035    import org.apache.activemq.command.MessageAck;
036    import org.apache.activemq.command.MessageDispatch;
037    import org.apache.activemq.command.MessageDispatchNotification;
038    import org.apache.activemq.command.MessagePull;
039    import org.apache.activemq.command.ProducerInfo;
040    import org.apache.activemq.command.RemoveSubscriptionInfo;
041    import org.apache.activemq.command.Response;
042    import org.apache.activemq.command.SessionInfo;
043    import org.apache.activemq.command.TransactionId;
044    import org.apache.activemq.store.kahadb.plist.PListStore;
045    import org.apache.activemq.thread.Scheduler;
046    import org.apache.activemq.usage.Usage;
047    
048    /**
049     * Dumb implementation - used to be overriden by listeners
050     * 
051     * 
052     */
053    public class EmptyBroker implements Broker {
054    
055        public BrokerId getBrokerId() {
056            return null;
057        }
058    
059        public String getBrokerName() {
060            return null;
061        }
062    
063        public Broker getAdaptor(Class type) {
064            if (type.isInstance(this)) {
065                return this;
066            }
067            return null;
068        }
069    
070        @SuppressWarnings("unchecked")
071        public Map<ActiveMQDestination, Destination> getDestinationMap() {
072            return Collections.EMPTY_MAP;
073        }
074    
075        public Set getDestinations(ActiveMQDestination destination) {
076            return Collections.EMPTY_SET;
077        }
078    
079        public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
080    
081        }
082    
083        public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error) throws Exception {
084    
085        }
086    
087        public void addSession(ConnectionContext context, SessionInfo info) throws Exception {
088    
089        }
090    
091        public void removeSession(ConnectionContext context, SessionInfo info) throws Exception {
092    
093        }
094    
095        public void addProducer(ConnectionContext context, ProducerInfo info) throws Exception {
096    
097        }
098    
099        public void removeProducer(ConnectionContext context, ProducerInfo info) throws Exception {
100    
101        }
102    
103        public Connection[] getClients() throws Exception {
104    
105            return null;
106        }
107    
108        public ActiveMQDestination[] getDestinations() throws Exception {
109    
110            return null;
111        }
112    
113        public TransactionId[] getPreparedTransactions(ConnectionContext context) throws Exception {
114    
115            return null;
116        }
117    
118        public void beginTransaction(ConnectionContext context, TransactionId xid) throws Exception {
119    
120        }
121    
122        public int prepareTransaction(ConnectionContext context, TransactionId xid) throws Exception {
123    
124            return 0;
125        }
126    
127        public void rollbackTransaction(ConnectionContext context, TransactionId xid) throws Exception {
128    
129        }
130    
131        public void commitTransaction(ConnectionContext context, TransactionId xid, boolean onePhase) throws Exception {
132    
133        }
134    
135        public void forgetTransaction(ConnectionContext context, TransactionId transactionId) throws Exception {
136    
137        }
138    
139        public Destination addDestination(ConnectionContext context, ActiveMQDestination destination,boolean flag) throws Exception {
140    
141            return null;
142        }
143    
144        public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception {
145    
146        }
147    
148        public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception {
149            return null;
150        }
151    
152        public void removeConsumer(ConnectionContext context, ConsumerInfo info) throws Exception {
153    
154        }
155    
156        public void removeSubscription(ConnectionContext context, RemoveSubscriptionInfo info) throws Exception {
157    
158        }
159    
160        public void send(ProducerBrokerExchange producerExchange, Message message) throws Exception {
161    
162        }
163    
164        public void acknowledge(ConsumerBrokerExchange consumerExchange, MessageAck ack) throws Exception {
165    
166        }
167    
168        public void gc() {
169    
170        }
171    
172        public void start() throws Exception {
173    
174        }
175    
176        public void stop() throws Exception {
177    
178        }
179    
180        public void addBroker(Connection connection, BrokerInfo info) {
181    
182        }
183    
184        public void removeBroker(Connection connection, BrokerInfo info) {
185    
186        }
187    
188        public BrokerInfo[] getPeerBrokerInfos() {
189            return null;
190        }
191    
192        public void preProcessDispatch(MessageDispatch messageDispatch) {
193        }
194    
195        public void postProcessDispatch(MessageDispatch messageDispatch) {
196        }
197    
198        public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception {
199    
200        }
201    
202        public boolean isStopped() {
203            return false;
204        }
205    
206        public Set<ActiveMQDestination> getDurableDestinations() {
207            return null;
208        }
209    
210        public void addDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
211        }
212    
213        public void removeDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
214        }
215    
216        public boolean isFaultTolerantConfiguration() {
217            return false;
218        }
219    
220        public ConnectionContext getAdminConnectionContext() {
221            return null;
222        }
223    
224        public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
225        }
226    
227        public Response messagePull(ConnectionContext context, MessagePull pull) throws Exception {
228            return null;
229        }
230    
231        public PListStore getTempDataStore() {
232            return null;
233        }
234    
235        public URI getVmConnectorURI() {
236            return null;
237        }
238    
239        public void brokerServiceStarted() {
240        }
241    
242        public BrokerService getBrokerService() {
243            return null;
244        }
245    
246        public boolean isExpired(MessageReference messageReference) {
247            return false;
248        }
249    
250        public void messageExpired(ConnectionContext context, MessageReference message, Subscription subscription) {
251        }
252    
253        public void sendToDeadLetterQueue(ConnectionContext context,
254                                          MessageReference messageReference,
255                                          Subscription subscription) {
256        }
257    
258        public Broker getRoot() {
259            return null;
260        }
261        
262        public long getBrokerSequenceId() {
263            return -1l;
264        }
265        
266        public void fastProducer(ConnectionContext context,ProducerInfo producerInfo,ActiveMQDestination destination) {
267        }
268    
269        public void isFull(ConnectionContext context, Destination destination,Usage usage) {
270        }
271    
272        public void messageConsumed(ConnectionContext context,MessageReference messageReference) {
273        }
274    
275        public void messageDelivered(ConnectionContext context,MessageReference messageReference) {
276        }
277    
278        public void messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference) {
279        }
280    
281        public void slowConsumer(ConnectionContext context,Destination destination, Subscription subs) {
282        }
283    
284        public void nowMasterBroker() {        
285        }
286    
287        public void networkBridgeStarted(BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp) {
288        }
289    
290        public void networkBridgeStopped(BrokerInfo brokerInfo) {
291        }
292    
293        public void processConsumerControl(ConsumerBrokerExchange consumerExchange,
294                ConsumerControl control) {     
295        }
296    
297        public Scheduler getScheduler() {
298            return null;
299        }
300    
301        public ThreadPoolExecutor getExecutor() {
302            return null;
303        }
304    }