Author: davsclaus
Date: Mon Dec 15 00:16:38 2008
New Revision: 726648
URL: http://svn.apache.org/viewvc?rev=726648&view=rev
Log:
Merged revisions 726640,726645 via svnmerge from
https://svn.apache.org/repos/asf/activemq/camel/trunk
........
r726640 | davsclaus | 2008-12-15 08:58:48 +0100 (ma, 15 dec 2008) | 1 line
CAMEL-1187: camel-mina: Added options for the vm protocol as well
........
r726645 | davsclaus | 2008-12-15 09:06:28 +0100 (ma, 15 dec 2008) | 1 line
CAMEL-1187: camel-mina: Added options for the vm protocol as well
........
Added:
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMCustomCodecTest.java
- copied unchanged from r726645,
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMCustomCodecTest.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMFileTcpTest.java
- copied unchanged from r726645,
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMFileTcpTest.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTextlineProtocolTest.java
- copied unchanged from r726645,
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTextlineProtocolTest.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
- copied unchanged from r726645,
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
Modified:
activemq/camel/branches/camel-1.x/ (props changed)
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 15 00:16:38 2008
@@ -1 +1 @@
-/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845,722878,723264,723314,723325-723327,723409,723835,723966,724122,724619,724681,725040,725309-725320,725340,725351,725569-725572,725612,725652-725660
+/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845,722878,723264,723314,723325-723327,723409,723835,723966,724122,724619,724681,725040,725309-725320,725340,725351,725569-725572,725612,725652-725660,726640-726645
Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
URL:
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
---
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
(original)
+++
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
Mon Dec 15 00:16:38 2008
@@ -117,7 +117,31 @@
IoAcceptor acceptor = new VmPipeAcceptor();
SocketAddress address = new VmPipeAddress(connectUri.getPort());
IoConnector connector = new VmPipeConnector();
- return new MinaEndpoint(uri, this, address, acceptor, null, connector,
null, false, 0, false, false);
+
+ // connector config
+ configureCodecFactory("MinaProducer", connector.getDefaultConfig(),
textline, encoding, codec);
+ if (minaLogger) {
+ connector.getFilterChain().addLast("logger", new LoggingFilter());
+ }
+
+ // acceptor connectorConfig
+ configureCodecFactory("MinaConsumer", acceptor.getDefaultConfig(),
textline, encoding, codec);
+ if (minaLogger) {
+ acceptor.getFilterChain().addLast("logger", new LoggingFilter());
+ }
+
+ MinaEndpoint endpoint = new MinaEndpoint(uri, this, address, acceptor,
null, connector, null, false, timeout, transferExchange, sync);
+ if (encoding != null) {
+ endpoint.setCharsetName(getEncodingParameter("MinaProducer",
encoding).name());
+ }
+ // set sync or async mode after endpoint is created
+ if (sync) {
+ endpoint.setExchangePattern(ExchangePattern.InOut);
+ } else {
+ endpoint.setExchangePattern(ExchangePattern.InOnly);
+ }
+
+ return endpoint;
}
protected MinaEndpoint createSocketEndpoint(String uri, URI connectUri,
Map parameters) {
@@ -127,7 +151,7 @@
// connector config
SocketConnectorConfig connectorConfig = new SocketConnectorConfig();
- configureSocketCodecFactory("MinaProducer", connectorConfig, textline,
encoding, codec);
+ configureCodecFactory("MinaProducer", connectorConfig, textline,
encoding, codec);
if (minaLogger) {
connectorConfig.getFilterChain().addLast("logger", new
LoggingFilter());
}
@@ -137,7 +161,7 @@
// acceptor connectorConfig
SocketAcceptorConfig acceptorConfig = new SocketAcceptorConfig();
- configureSocketCodecFactory("MinaConsumer", acceptorConfig, textline,
encoding, codec);
+ configureCodecFactory("MinaConsumer", acceptorConfig, textline,
encoding, codec);
acceptorConfig.setReuseAddress(true);
acceptorConfig.setDisconnectOnUnbind(true);
if (minaLogger) {
@@ -158,7 +182,7 @@
return endpoint;
}
- protected void configureSocketCodecFactory(String type, IoServiceConfig
config, boolean textline, String encoding, String codec) {
+ protected void configureCodecFactory(String type, IoServiceConfig config,
boolean textline, String encoding, String codec) {
ProtocolCodecFactory codecFactory = getCodecFactory(type, codec);
if (codecFactory == null) {
@@ -221,7 +245,7 @@
return endpoint;
}
- private Charset getEncodingParameter(String type, String encoding) {
+ private static Charset getEncodingParameter(String type, String encoding) {
if (encoding == null) {
encoding = Charset.defaultCharset().name();
if (LOG.isDebugEnabled()) {
Modified:
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
---
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
(original)
+++
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
Mon Dec 15 00:16:38 2008
@@ -23,6 +23,7 @@
import org.apache.camel.impl.JndiRegistry;
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IoSession;
+import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
@@ -34,21 +35,23 @@
*/
public class MinaCustomCodecTest extends ContextTestSupport {
- private String uri = "mina:tcp://localhost:11300?sync=true&codec=myCodec";
+ protected String uri =
"mina:tcp://localhost:11300?sync=true&codec=myCodec";
+ protected String badUri = "mina:tcp://localhost:11300?sync=true&codec=XXX";
public void testMyCodec() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMessageCount(1);
mock.expectedBodiesReceived("Bye World");
- template.requestBody(uri, "Hello World");
+ Object out = template.requestBody(uri, "Hello World");
+ assertEquals("Bye World", out);
mock.assertIsSatisfied();
}
public void testBadConfiguration() throws Exception {
try {
-
template.sendBody("mina:tcp://localhost:11300?sync=true&codec=XXX", "Hello
World");
+ template.sendBody(badUri, "Hello World");
fail("Should have thrown a ResolveEndpointFailedException");
} catch (ResolveEndpointFailedException e) {
// ok
@@ -90,20 +93,15 @@
}
public ProtocolDecoder getDecoder() throws Exception {
- return new ProtocolDecoder() {
- public void decode(IoSession ioSession, ByteBuffer in,
- ProtocolDecoderOutput out) throws Exception
{
- in.acquire();
- out.write(in);
- }
-
- public void finishDecode(IoSession ioSession,
ProtocolDecoderOutput protocolDecoderOutput)
- throws Exception {
- // do nothing
- }
-
- public void dispose(IoSession ioSession) throws Exception {
- // do nothing
+ return new CumulativeProtocolDecoder() {
+ protected boolean doDecode(IoSession session, ByteBuffer in,
ProtocolDecoderOutput out) throws Exception {
+ if (in.remaining() > 0) {
+ byte[] buf = MinaConverter.toByteArray(in);
+ out.write(new String(buf));
+ return true;
+ } else {
+ return false;
+ }
}
};
}
Modified:
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
---
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
(original)
+++
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
Mon Dec 15 00:16:38 2008
@@ -36,7 +36,7 @@
*/
public class MinaTransferExchangeOptionTest extends ContextTestSupport {
- private static final String URI =
"mina:tcp://localhost:6321?sync=true&encoding=UTF-8&transferExchange=true";
+ protected String uri =
"mina:tcp://localhost:6321?sync=true&encoding=UTF-8&transferExchange=true";
public void testMianTransferExchangeOptionWithoutException() throws
Exception {
Exchange exchange = sendExchange(false);
@@ -49,7 +49,7 @@
}
private Exchange sendExchange(boolean setException) throws Exception {
- Endpoint endpoint = context.getEndpoint(URI);
+ Endpoint endpoint = context.getEndpoint(uri);
Exchange exchange = endpoint.createExchange();
Message message = exchange.getIn();
@@ -92,7 +92,7 @@
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- from(URI).process(new Processor() {
+ from(uri).process(new Processor() {
public void process(Exchange e) throws
InterruptedException {
Assert.assertNotNull(e.getIn().getBody());
Assert.assertNotNull(e.getIn().getHeaders());
Modified:
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
URL:
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
---
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
(original)
+++
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
Mon Dec 15 00:16:38 2008
@@ -32,4 +32,5 @@
log4j.appender.file.file=target/camel-mina-test.log
# debug logging for camel-mina
-#log4j.logger.org.apache.camel.component.mina=DEBUG
+log4j.logger.org.apache.camel.component.mina=DEBUG
+#log4j.logger.org.apache.camel=DEBUG