| /* |
| * |
| * 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. |
| * |
| */ |
| package org.apache.qpid.topic; |
| |
| import org.apache.qpid.client.AMQSession; |
| import org.apache.qpid.config.ConnectorConfig; |
| import org.apache.qpid.config.ConnectionFactoryInitialiser; |
| import org.apache.qpid.config.Connector; |
| import org.apache.qpid.config.AbstractConfig; |
| |
| import javax.jms.Connection; |
| import javax.jms.ConnectionFactory; |
| |
| class Config extends AbstractConfig implements ConnectorConfig |
| { |
| |
| private String host = "localhost"; |
| private int port = 5672; |
| private String factory = null; |
| |
| private int payload = 256; |
| private int messages = 1000; |
| private int clients = 1; |
| private int batch = 1; |
| private long delay = 1; |
| private int warmup; |
| private int ackMode= AMQSession.NO_ACKNOWLEDGE; |
| private String clientId; |
| private String subscriptionId; |
| private boolean persistent; |
| |
| public Config() |
| { |
| } |
| |
| int getAckMode() |
| { |
| return ackMode; |
| } |
| |
| void setPayload(int payload) |
| { |
| this.payload = payload; |
| } |
| |
| int getPayload() |
| { |
| return payload; |
| } |
| |
| void setClients(int clients) |
| { |
| this.clients = clients; |
| } |
| |
| int getClients() |
| { |
| return clients; |
| } |
| |
| void setMessages(int messages) |
| { |
| this.messages = messages; |
| } |
| |
| int getMessages() |
| { |
| return messages; |
| } |
| |
| public String getHost() |
| { |
| return host; |
| } |
| |
| public void setHost(String host) |
| { |
| this.host = host; |
| } |
| |
| public int getPort() |
| { |
| return port; |
| } |
| |
| public String getFactory() |
| { |
| return factory; |
| } |
| |
| public void setPort(int port) |
| { |
| this.port = port; |
| } |
| |
| int getBatch() |
| { |
| return batch; |
| } |
| |
| void setBatch(int batch) |
| { |
| this.batch = batch; |
| } |
| |
| int getWarmup() |
| { |
| return warmup; |
| } |
| |
| void setWarmup(int warmup) |
| { |
| this.warmup = warmup; |
| } |
| |
| public long getDelay() |
| { |
| return delay; |
| } |
| |
| public void setDelay(long delay) |
| { |
| this.delay = delay; |
| } |
| |
| String getClientId() |
| { |
| return clientId; |
| } |
| |
| String getSubscriptionId() |
| { |
| return subscriptionId; |
| } |
| |
| boolean usePersistentMessages() |
| { |
| return persistent; |
| } |
| |
| public void setOption(String key, String value) |
| { |
| if("-host".equalsIgnoreCase(key)) |
| { |
| setHost(value); |
| } |
| else if("-port".equalsIgnoreCase(key)) |
| { |
| try |
| { |
| setPort(Integer.parseInt(value)); |
| } |
| catch(NumberFormatException e) |
| { |
| throw new RuntimeException("Bad port number: " + value); |
| } |
| } |
| else if("-payload".equalsIgnoreCase(key)) |
| { |
| setPayload(parseInt("Bad payload size", value)); |
| } |
| else if("-messages".equalsIgnoreCase(key)) |
| { |
| setMessages(parseInt("Bad message count", value)); |
| } |
| else if("-clients".equalsIgnoreCase(key)) |
| { |
| setClients(parseInt("Bad client count", value)); |
| } |
| else if("-batch".equalsIgnoreCase(key)) |
| { |
| setBatch(parseInt("Bad batch count", value)); |
| } |
| else if("-delay".equalsIgnoreCase(key)) |
| { |
| setDelay(parseLong("Bad batch delay", value)); |
| } |
| else if("-warmup".equalsIgnoreCase(key)) |
| { |
| setWarmup(parseInt("Bad warmup count", value)); |
| } |
| else if("-ack".equalsIgnoreCase(key)) |
| { |
| ackMode = parseInt("Bad ack mode", value); |
| } |
| else if("-factory".equalsIgnoreCase(key)) |
| { |
| factory = value; |
| } |
| else if("-clientId".equalsIgnoreCase(key)) |
| { |
| clientId = value; |
| } |
| else if("-subscriptionId".equalsIgnoreCase(key)) |
| { |
| subscriptionId = value; |
| } |
| else if("-persistent".equalsIgnoreCase(key)) |
| { |
| persistent = "true".equalsIgnoreCase(value); |
| } |
| else |
| { |
| System.out.println("Ignoring unrecognised option: " + key); |
| } |
| } |
| |
| static String getAckModeDescription(int ackMode) |
| { |
| switch(ackMode) |
| { |
| case AMQSession.NO_ACKNOWLEDGE: return "NO_ACKNOWLEDGE"; |
| case AMQSession.AUTO_ACKNOWLEDGE: return "AUTO_ACKNOWLEDGE"; |
| case AMQSession.CLIENT_ACKNOWLEDGE: return "CLIENT_ACKNOWLEDGE"; |
| case AMQSession.DUPS_OK_ACKNOWLEDGE: return "DUPS_OK_ACKNOWELDGE"; |
| case AMQSession.PRE_ACKNOWLEDGE: return "PRE_ACKNOWLEDGE"; |
| } |
| return "AckMode=" + ackMode; |
| } |
| |
| public Connection createConnection() throws Exception |
| { |
| return new Connector().createConnection(this); |
| } |
| } |