Save This Page
Home » activemq-parent-5.3.1-source-release » org.apache » activemq » web » controller » [javadoc | source]
    1   /**
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    * Unless required by applicable law or agreed to in writing, software
   12    * distributed under the License is distributed on an "AS IS" BASIS,
   13    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    * See the License for the specific language governing permissions and
   15    * limitations under the License.
   16    */
   17   package org.apache.activemq.web.controller;
   18   
   19   import javax.servlet.http.HttpServletRequest;
   20   import javax.servlet.http.HttpServletResponse;
   21   
   22   import org.apache.activemq.broker.jmx.QueueViewMBean;
   23   import org.apache.activemq.web.BrokerFacade;
   24   import org.apache.activemq.web.DestinationFacade;
   25   import org.apache.commons.logging.Log;
   26   import org.apache.commons.logging.LogFactory;
   27   import org.springframework.web.servlet.ModelAndView;
   28   import org.springframework.web.servlet.mvc.Controller;
   29   
   30   /**
   31    * Copies a message from one to another queue
   32    * 
   33    * @author <a href="http://www.nighttale.net">Dejan Bosanac</a>
   34    * @version $Revision$
   35    */
   36   public class CopyMessage extends DestinationFacade implements Controller {
   37       private String messageId;
   38       private String destination;
   39       private static final Log log = LogFactory.getLog(CopyMessage.class);
   40   
   41       public CopyMessage(BrokerFacade brokerFacade) {
   42           super(brokerFacade);
   43       }
   44   
   45       public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
   46           if (messageId != null) {
   47               QueueViewMBean queueView = getQueueView();
   48               if (queueView != null) {
   49               	log.info(getJMSDestination() + "(" + messageId + ")" + " copy to " + destination);
   50                   queueView.copyMessageTo(messageId, destination);
   51               } else {
   52               	log.warn("No queue named: " + getPhysicalDestinationName());
   53               }
   54           }
   55           return redirectToBrowseView();
   56       }
   57   
   58       public String getMessageId() {
   59           return messageId;
   60       }
   61   
   62       public void setMessageId(String messageId) {
   63           this.messageId = messageId;
   64       }
   65       
   66       
   67   
   68       public String getDestination() {
   69   		return destination;
   70   	}
   71   
   72   	public void setDestination(String destination) {
   73   		this.destination = destination;
   74   	}
   75   
   76   }

Save This Page
Home » activemq-parent-5.3.1-source-release » org.apache » activemq » web » controller » [javadoc | source]