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 */ 017package org.apache.camel.management.mbean; 018 019import java.util.Set; 020 021import org.apache.camel.CamelContext; 022import org.apache.camel.api.management.ManagedResource; 023import org.apache.camel.api.management.mbean.ManagedAggregateProcessorMBean; 024import org.apache.camel.model.AggregateDefinition; 025import org.apache.camel.processor.aggregate.AggregateProcessor; 026 027@ManagedResource(description = "Managed AggregateProcessor") 028public class ManagedAggregateProcessor extends ManagedProcessor implements ManagedAggregateProcessorMBean { 029 030 public ManagedAggregateProcessor(CamelContext context, AggregateProcessor processor, AggregateDefinition definition) { 031 super(context, processor, definition); 032 } 033 034 @Override 035 public AggregateProcessor getProcessor() { 036 return (AggregateProcessor) super.getProcessor(); 037 } 038 039 @Override 040 public AggregateDefinition getDefinition() { 041 return (AggregateDefinition) super.getDefinition(); 042 } 043 044 @Override 045 public String getCorrelationExpressionLanguage() { 046 if (getDefinition().getCorrelationExpression() != null) { 047 return getDefinition().getCorrelationExpression().getExpressionType().getLanguage(); 048 } else { 049 return null; 050 } 051 } 052 053 @Override 054 public String getCorrelationExpression() { 055 if (getDefinition().getCorrelationExpression() != null) { 056 return getDefinition().getCorrelationExpression().getExpressionType().getExpression(); 057 } else { 058 return null; 059 } 060 } 061 062 @Override 063 public long getCompletionTimeout() { 064 return getProcessor().getCompletionTimeout(); 065 } 066 067 @Override 068 public String getCompletionTimeoutLanguage() { 069 if (getDefinition().getCompletionTimeoutExpression() != null) { 070 return getDefinition().getCompletionTimeoutExpression().getExpressionType().getLanguage(); 071 } else { 072 return null; 073 } 074 } 075 076 @Override 077 public String getCompletionTimeoutExpression() { 078 if (getDefinition().getCompletionTimeoutExpression() != null) { 079 return getDefinition().getCompletionTimeoutExpression().getExpressionType().getExpression(); 080 } else { 081 return null; 082 } 083 } 084 085 @Override 086 public long getCompletionInterval() { 087 return getProcessor().getCompletionInterval(); 088 } 089 090 @Override 091 public long getCompletionTimeoutCheckerInterval() { 092 return getProcessor().getCompletionTimeoutCheckerInterval(); 093 } 094 095 @Override 096 public int getCompletionSize() { 097 return getProcessor().getCompletionSize(); 098 } 099 100 @Override 101 public String getCompletionSizeExpressionLanguage() { 102 if (getDefinition().getCompletionSizeExpression() != null) { 103 return getDefinition().getCompletionSizeExpression().getExpressionType().getLanguage(); 104 } else { 105 return null; 106 } 107 } 108 109 @Override 110 public String getCompletionSizeExpression() { 111 if (getDefinition().getCompletionSizeExpression() != null) { 112 return getDefinition().getCompletionSizeExpression().getExpressionType().getExpression(); 113 } else { 114 return null; 115 } 116 } 117 118 @Override 119 public boolean isCompletionFromBatchConsumer() { 120 return getProcessor().isCompletionFromBatchConsumer(); 121 } 122 123 @Override 124 public boolean isCompletionOnNewCorrelationGroup() { 125 return getProcessor().isCompletionOnNewCorrelationGroup(); 126 } 127 128 @Override 129 public boolean isIgnoreInvalidCorrelationKeys() { 130 return getProcessor().isIgnoreInvalidCorrelationKeys(); 131 } 132 133 @Override 134 public Integer getCloseCorrelationKeyOnCompletion() { 135 return getProcessor().getCloseCorrelationKeyOnCompletion(); 136 } 137 138 @Override 139 public boolean isParallelProcessing() { 140 return getProcessor().isParallelProcessing(); 141 } 142 143 @Override 144 public boolean isOptimisticLocking() { 145 return getProcessor().isOptimisticLocking(); 146 } 147 148 @Override 149 public boolean isEagerCheckCompletion() { 150 return getProcessor().isEagerCheckCompletion(); 151 } 152 153 @Override 154 public String getCompletionPredicateLanguage() { 155 if (getDefinition().getCompletionPredicate() != null) { 156 return getDefinition().getCompletionPredicate().getExpressionType().getLanguage(); 157 } else { 158 return null; 159 } 160 } 161 162 @Override 163 public String getCompletionPredicate() { 164 if (getDefinition().getCompletionPredicate() != null) { 165 return getDefinition().getCompletionPredicate().getExpressionType().getExpression(); 166 } else { 167 return null; 168 } 169 } 170 171 @Override 172 public boolean isDiscardOnCompletionTimeout() { 173 return getProcessor().isDiscardOnCompletionTimeout(); 174 } 175 176 @Override 177 public boolean isForceCompletionOnStop() { 178 return getProcessor().isCompletionFromBatchConsumer(); 179 } 180 181 @Override 182 public boolean isCompleteAllOnStop() { 183 return getProcessor().isCompleteAllOnStop(); 184 } 185 186 @Override 187 public int getInProgressCompleteExchanges() { 188 return getProcessor().getInProgressCompleteExchanges(); 189 } 190 191 @Override 192 public int aggregationRepositoryGroups() { 193 Set<String> keys = getProcessor().getAggregationRepository().getKeys(); 194 if (keys != null) { 195 return keys.size(); 196 } else { 197 return 0; 198 } 199 } 200 201 @Override 202 public int forceCompletionOfGroup(String key) { 203 if (getProcessor().getAggregateController() != null) { 204 return getProcessor().getAggregateController().forceCompletionOfGroup(key); 205 } else { 206 return 0; 207 } 208 } 209 210 @Override 211 public int forceCompletionOfAllGroups() { 212 if (getProcessor().getAggregateController() != null) { 213 return getProcessor().getAggregateController().forceCompletionOfAllGroups(); 214 } else { 215 return 0; 216 } 217 } 218 219 @Override 220 public int forceDiscardingOfGroup(String key) { 221 if (getProcessor().getAggregateController() != null) { 222 return getProcessor().getAggregateController().forceDiscardingOfGroup(key); 223 } else { 224 return 0; 225 } 226 } 227 228 @Override 229 public int forceDiscardingOfAllGroups() { 230 if (getProcessor().getAggregateController() != null) { 231 return getProcessor().getAggregateController().forceDiscardingOfAllGroups(); 232 } else { 233 return 0; 234 } 235 } 236 237 @Override 238 public int getClosedCorrelationKeysCacheSize() { 239 return getProcessor().getClosedCorrelationKeysCacheSize(); 240 } 241 242 @Override 243 public void clearClosedCorrelationKeysCache() { 244 getProcessor().clearClosedCorrelationKeysCache(); 245 } 246 247 @Override 248 public long getTotalIn() { 249 return getProcessor().getStatistics().getTotalIn(); 250 } 251 252 @Override 253 public long getTotalCompleted() { 254 return getProcessor().getStatistics().getTotalCompleted(); 255 } 256 257 @Override 258 public long getCompletedBySize() { 259 return getProcessor().getStatistics().getCompletedBySize(); 260 } 261 262 @Override 263 public long getCompletedByStrategy() { 264 return getProcessor().getStatistics().getCompletedByStrategy(); 265 } 266 267 @Override 268 public long getCompletedByInterval() { 269 return getProcessor().getStatistics().getCompletedByInterval(); 270 } 271 272 @Override 273 public long getCompletedByTimeout() { 274 return getProcessor().getStatistics().getCompletedByTimeout(); 275 } 276 277 @Override 278 public long getCompletedByPredicate() { 279 return getProcessor().getStatistics().getCompletedByPredicate(); 280 } 281 282 @Override 283 public long getCompletedByBatchConsumer() { 284 return getProcessor().getStatistics().getCompletedByBatchConsumer(); 285 } 286 287 @Override 288 public long getCompletedByForce() { 289 return getProcessor().getStatistics().getCompletedByForce(); 290 } 291 292 @Override 293 public long getDiscarded() { 294 return getProcessor().getStatistics().getDiscarded(); 295 } 296 297 @Override 298 public void resetStatistics() { 299 getProcessor().getStatistics().reset(); 300 } 301}