You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2017/08/31 06:41:08 UTC
[1/2] camel git commit: CAMEL-11725 applied a new way of Atmosphere
Framework initialization
Repository: camel
Updated Branches:
refs/heads/master eeaca4d63 -> 781c48a44
CAMEL-11725 applied a new way of Atmosphere Framework initialization
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/181c741d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/181c741d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/181c741d
Branch: refs/heads/master
Commit: 181c741d09d22b1b6e8e4598cc509bd979532d0d
Parents: eeaca4d
Author: Pavlo Kletsko <pa...@greenbird.com>
Authored: Wed Aug 30 15:44:08 2017 +0200
Committer: Pavlo Kletsko <pa...@greenbird.com>
Committed: Wed Aug 30 15:44:08 2017 +0200
----------------------------------------------------------------------
.../websocket/CamelWebSocketServlet.java | 28 +++++++++---
.../atmosphere/websocket/WebsocketConsumer.java | 46 ++++++++++++--------
.../WebsocketCamelRouterTestSupport.java | 10 ++---
...cketCamelRouterWithInitParamTestSupport.java | 10 ++---
4 files changed, 58 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
index 9ddb21a..b1c169f 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.atmosphere.websocket;
import java.io.IOException;
+import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -42,11 +43,9 @@ public class CamelWebSocketServlet extends CamelHttpTransportServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
- String eventsResendingParameter = config.getInitParameter(RESEND_ALL_WEBSOCKET_EVENTS_PARAM_KEY);
- if ("true".equals(eventsResendingParameter)) {
- log.debug("Events resending enabled");
- enableEventsResending = true;
- }
+ initParameters(config);
+
+ enrichConsumers(config);
}
@Override
@@ -86,7 +85,22 @@ public class CamelWebSocketServlet extends CamelHttpTransportServlet {
}
log.debug("Dispatching to Websocket Consumer at {}", consumer.getPath());
- ((WebsocketConsumer)consumer).service(request, response, enableEventsResending);
+ ((WebsocketConsumer)consumer).service(request, response);
+ }
+
+ private void initParameters(ServletConfig config) {
+ String eventsResendingParameter = config.getInitParameter(RESEND_ALL_WEBSOCKET_EVENTS_PARAM_KEY);
+ if ("true".equals(eventsResendingParameter)) {
+ log.debug("Events resending enabled");
+ enableEventsResending = true;
+ }
+ }
+
+ private void enrichConsumers(ServletConfig config) throws ServletException {
+ for (Map.Entry<String, HttpConsumer> httpConsumerEntry : getConsumers().entrySet()) {
+ WebsocketConsumer consumer = (WebsocketConsumer) httpConsumerEntry.getValue();
+ consumer.configureFramework(config);
+ consumer.configureEventsResending(enableEventsResending);
+ }
}
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
index b1b9b50..08537fc 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -28,47 +29,54 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.component.servlet.ServletConsumer;
+import org.atmosphere.cpr.AtmosphereResponseImpl;
+import org.atmosphere.cpr.AtmosphereRequestImpl;
import org.atmosphere.cpr.ApplicationConfig;
import org.atmosphere.cpr.AtmosphereFramework;
-import org.atmosphere.cpr.AtmosphereRequestImpl;
-import org.atmosphere.cpr.AtmosphereResponseImpl;
+import org.atmosphere.cpr.AtmosphereFrameworkInitializer;
import org.atmosphere.websocket.WebSocketProtocol;
/**
*
*/
public class WebsocketConsumer extends ServletConsumer {
- private AtmosphereFramework framework;
private boolean enableEventsResending;
private Map<String, String> queryMap = new HashMap<>();
+ private AtmosphereFramework framework;
+ private final AtmosphereFrameworkInitializer initializer;
- public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
- super(endpoint, processor);
- this.framework = new AtmosphereFramework(false, true);
-
- framework.setUseNativeImplementation(false);
- framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
- framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL,
- endpoint.isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
- //REVISIT we need to disable JSR356 detection for now when using jetty-9.3 when using atmosphere-2.4.x
- framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPRESS_JSR356, "true");
- framework.init();
-
- WebSocketProtocol wsp = framework.getWebSocketProtocol();
+ public void configureEventsResending(final boolean enableEventsResending){
+ this.enableEventsResending = enableEventsResending;
+ }
+
+ public void configureFramework(ServletConfig config) throws ServletException {
+ initializer.configureFramework(config, false, false, AtmosphereFramework.class);
+ this.framework = initializer.framework();
+ this.framework.setUseNativeImplementation(false);
+ this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
+ this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL,
+ getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
+ this.framework.init(config);
+
+ WebSocketProtocol wsp = this.framework.getWebSocketProtocol();
if (wsp instanceof WebsocketHandler) {
- ((WebsocketHandler)wsp).setConsumer(this);
+ ((WebsocketHandler)wsp).setConsumer(this);
} else {
throw new IllegalArgumentException("Unexpected WebSocketHandler: " + wsp);
}
}
+ public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
+ super(endpoint, processor);
+ initializer = new AtmosphereFrameworkInitializer(false , true);
+ }
+
@Override
public WebsocketEndpoint getEndpoint() {
return (WebsocketEndpoint)super.getEndpoint();
}
- void service(HttpServletRequest request, HttpServletResponse response, boolean enableEventsResending) throws IOException, ServletException {
- this.enableEventsResending = enableEventsResending;
+ void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
this.queryMap = getQueryMap(request.getQueryString());
framework.doCometSupport(AtmosphereRequestImpl.wrap(request), AtmosphereResponseImpl.wrap(response));
}
http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
index bf98802..efc818f 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
@@ -42,15 +42,15 @@ public class WebsocketCamelRouterTestSupport extends CamelTestSupport {
context.setContextPath("/");
server.setHandler(context);
+ if (startCamelContext) {
+ super.setUp();
+ }
+
servletHolder = new ServletHolder(new CamelWebSocketServlet());
servletHolder.setName("CamelWsServlet");
context.addServlet(servletHolder, "/*");
-
+
server.start();
-
- if (startCamelContext) {
- super.setUp();
- }
}
@After
http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
index b8c5768..49dad99 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
@@ -42,16 +42,16 @@ public class WebsocketCamelRouterWithInitParamTestSupport extends CamelTestSuppo
context.setContextPath("/");
server.setHandler(context);
+ if (startCamelContext) {
+ super.setUp();
+ }
+
servletHolder = new ServletHolder(new CamelWebSocketServlet());
servletHolder.setName("CamelWsServlet");
servletHolder.setInitParameter("events", "true");
context.addServlet(servletHolder, "/*");
-
+
server.start();
-
- if (startCamelContext) {
- super.setUp();
- }
}
@After
[2/2] camel git commit: CAMEL-11725 - Fixed CS
Posted by ac...@apache.org.
CAMEL-11725 - Fixed CS
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/781c48a4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/781c48a4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/781c48a4
Branch: refs/heads/master
Commit: 781c48a44c66fa420eda0e49651a48edd5cad235
Parents: 181c741
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Aug 31 08:29:08 2017 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Aug 31 08:29:08 2017 +0200
----------------------------------------------------------------------
.../atmosphere/websocket/WebsocketConsumer.java | 22 +++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/781c48a4/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
index 08537fc..d912a2b 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -29,11 +30,11 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.component.servlet.ServletConsumer;
-import org.atmosphere.cpr.AtmosphereResponseImpl;
-import org.atmosphere.cpr.AtmosphereRequestImpl;
import org.atmosphere.cpr.ApplicationConfig;
import org.atmosphere.cpr.AtmosphereFramework;
import org.atmosphere.cpr.AtmosphereFrameworkInitializer;
+import org.atmosphere.cpr.AtmosphereRequestImpl;
+import org.atmosphere.cpr.AtmosphereResponseImpl;
import org.atmosphere.websocket.WebSocketProtocol;
/**
@@ -45,7 +46,13 @@ public class WebsocketConsumer extends ServletConsumer {
private AtmosphereFramework framework;
private final AtmosphereFrameworkInitializer initializer;
- public void configureEventsResending(final boolean enableEventsResending){
+
+ public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
+ super(endpoint, processor);
+ initializer = new AtmosphereFrameworkInitializer(false, true);
+ }
+
+ public void configureEventsResending(final boolean enableEventsResending) {
this.enableEventsResending = enableEventsResending;
}
@@ -55,7 +62,7 @@ public class WebsocketConsumer extends ServletConsumer {
this.framework.setUseNativeImplementation(false);
this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL,
- getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
+ getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
this.framework.init(config);
WebSocketProtocol wsp = this.framework.getWebSocketProtocol();
@@ -66,16 +73,11 @@ public class WebsocketConsumer extends ServletConsumer {
}
}
- public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
- super(endpoint, processor);
- initializer = new AtmosphereFrameworkInitializer(false , true);
- }
-
@Override
public WebsocketEndpoint getEndpoint() {
return (WebsocketEndpoint)super.getEndpoint();
}
-
+
void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
this.queryMap = getQueryMap(request.getQueryString());
framework.doCometSupport(AtmosphereRequestImpl.wrap(request), AtmosphereResponseImpl.wrap(response));