use of org.apache.camel.Route in project Activiti by Activiti.
the class SimpleProcessTest method tearDown.
public void tearDown() throws Exception {
List<Route> routes = camelContext.getRoutes();
for (Route r : routes) {
camelContext.stopRoute(r.getId());
camelContext.removeRoute(r.getId());
}
}
use of org.apache.camel.Route in project Activiti by Activiti.
the class SimpleSpringProcessTest method tearDown.
public void tearDown() throws Exception {
List<Route> routes = camelContext.getRoutes();
for (Route r : routes) {
camelContext.stopRoute(r.getId());
camelContext.removeRoute(r.getId());
}
}
use of org.apache.camel.Route in project Activiti by Activiti.
the class TestReturnValueFromActiviti method tearDown.
public void tearDown() throws Exception {
List<Route> routes = camelContext.getRoutes();
for (Route r : routes) {
camelContext.stopRoute(r.getId());
camelContext.removeRoute(r.getId());
}
}
use of org.apache.camel.Route in project Activiti by Activiti.
the class CamelVariableTransferTest method tearDown.
public void tearDown() throws Exception {
List<Route> routes = camelContext.getRoutes();
for (Route r : routes) {
camelContext.stopRoute(r.getId());
camelContext.removeRoute(r.getId());
}
}
use of org.apache.camel.Route in project ddf by codice.
the class HttpProxyCamelHttpTransportServlet method doService.
@Override
protected void doService(HttpServletRequest oldRequest, HttpServletResponse response) throws ServletException, IOException {
//Wrap request and clean the query String
HttpProxyWrappedCleanRequest request = new HttpProxyWrappedCleanRequest(oldRequest);
log.trace("Service: {}", request);
// Is there a consumer registered for the request.
HttpConsumer consumer = resolve(request);
if (consumer == null) {
String path = request.getPathInfo();
log.trace("Service Request Path = {}", path);
String endpointName = getEndpointNameFromPath(path);
log.trace("Endpoint Name = {}", endpointName);
Route route = camelContext.getRoute(endpointName);
try {
if (route != null) {
connect((HttpConsumer) route.getConsumer());
}
} catch (Exception e) {
log.debug("Exception while creating consumer", e);
}
consumer = resolve(request);
}
if (consumer == null) {
log.debug("No consumer to service request {}", request);
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
// are we suspended?
if (consumer.getEndpoint().isSuspended()) {
log.debug("Consumer suspended, cannot service request {}", request);
response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
return;
}
if (consumer.getEndpoint().getHttpMethodRestrict() != null && !consumer.getEndpoint().getHttpMethodRestrict().equals(request.getMethod())) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
return;
}
if ("TRACE".equals(request.getMethod()) && !consumer.getEndpoint().isTraceEnabled()) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
return;
}
// create exchange and set data on it
Exchange exchange = new DefaultExchange(consumer.getEndpoint(), ExchangePattern.InOut);
if (consumer.getEndpoint().isBridgeEndpoint()) {
exchange.setProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.TRUE);
}
if (consumer.getEndpoint().isDisableStreamCache()) {
exchange.setProperty(Exchange.DISABLE_HTTP_STREAM_CACHE, Boolean.TRUE);
}
// we override the classloader before building the HttpMessage just in case the binding
// does some class resolution
ClassLoader oldTccl = overrideTccl(exchange);
HttpHelper.setCharsetFromContentType(request.getContentType(), exchange);
exchange.setIn(new HttpMessage(exchange, request, response));
// set context path as header
String contextPath = consumer.getEndpoint().getPath();
exchange.getIn().setHeader("CamelServletContextPath", contextPath);
String httpPath = (String) exchange.getIn().getHeader(Exchange.HTTP_PATH);
// here we just remove the CamelServletContextPath part from the HTTP_PATH
if (contextPath != null && httpPath.startsWith(contextPath)) {
exchange.getIn().setHeader(Exchange.HTTP_PATH, httpPath.substring(contextPath.length()));
}
// we want to handle the UoW
try {
consumer.createUoW(exchange);
} catch (Exception e) {
log.debug("Error processing request", e);
throw new ServletException(e);
}
try {
if (log.isTraceEnabled()) {
log.trace("Processing request for exchangeId: {}", exchange.getExchangeId());
}
// process the exchange
consumer.getProcessor().process(exchange);
} catch (Exception e) {
exchange.setException(e);
}
try {
// now lets output to the response
if (log.isTraceEnabled()) {
log.trace("Writing response for exchangeId: {}", exchange.getExchangeId());
}
Integer bs = consumer.getEndpoint().getResponseBufferSize();
if (bs != null) {
log.trace("Using response buffer size: {}", bs);
response.setBufferSize(bs);
}
consumer.getBinding().writeResponse(exchange, response);
} catch (IOException e) {
log.debug("Error processing request", e);
throw e;
} catch (Exception e) {
log.debug("Error processing request", e);
throw new ServletException(e);
} finally {
consumer.doneUoW(exchange);
restoreTccl(exchange, oldTccl);
}
}
Aggregations