svn commit: r940387 - /camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java

2010-05-03 Thread davsclaus
Author: davsclaus
Date: Mon May  3 08:01:54 2010
New Revision: 940387

URL: http://svn.apache.org/viewvc?rev=940387view=rev
Log:
Fixed compiling due recent change in type converter registry.

Modified:

camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java

Modified: 
camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java?rev=940387r1=940386r2=940387view=diff
==
--- 
camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java
 (original)
+++ 
camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ReportingTypeConverterRegistry.java
 Mon May  3 08:01:54 2010
@@ -43,7 +43,7 @@ public class ReportingTypeConverterRegis
 }
 }
 
-public void addFallbackTypeConverter(TypeConverter typeConverter) {
+public void addFallbackTypeConverter(TypeConverter typeConverter, boolean 
canPromote) {
 if (errors.size() == 0) {
 errors.add(Method should not be invoked.);
 }




[CONF] Apache Camel NMR

2010-05-03 Thread confluence







NMR
Page edited by Gert Vanthienen


 Changes (1)
 



...
{code}  
h4. URI Options || Option || Default Value || Description || | {{synchronous}} | {{false}} | When this is set to *{{true}}* on a consumer endpoint, an incoming, synchronous NMR Exchange will be handled on the senders thread instead of being handled on a new thread of the NMR endpoints thread pool |   
h4. Examples  
...

Full Content

NMR Component

The nmr component is an adapter to the Normalized Message Router (NMR) in ServiceMix, which is intended for use by Camel applications deployed directly into the OSGi container. By contrast, the JBI component is intended for use by Camel applications deployed into the ServiceMix JBI container.

Installing

The NMR component is provided with Apache ServiceMix. It is not distributed with Camel. To install the NMR component in ServiceMix, enter the following command in the ServiceMix console window:



features install nmr



You also need to instantiate the NMR component. You can do this by editing your Spring configuration file, META-INF/spring/*.xml, and adding the following bean instance:



beans xmlns:osgi="http://www.springframework.org/schema/osgi" ... 
...
bean id="nmr" class="org.apache.servicemix.camel.nmr.ServiceMixComponent"
property name="nmr"
osgi:reference interface="org.apache.servicemix.nmr.api.NMR" /
/property
/bean
...
/beans



NMR consumer and producer endpoints

The following code:



from("nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint")



Automatically exposes a new endpoint to the bus, where the service QName is {http://foo.bar.org}MyService and the endpoint name is MyEndpoint (see URIformat).

When an NMR endpoint appears at the end of a route, for example:



to("nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint")



The messages sent by this producer endpoint are sent to the already deployed JBI endpoint.


URI format



nmr:service:serviceNamespace[sep]serviceName
nmr:endpoint:serviceNamespace[sep]serviceName[sep]endpointName
nmr:name:endpointName



The separator that should be used in the endpoint URL is:

	/ (forward slash), if serviceNamespace starts with http://, or
	: (colon), if serviceNamespace starts with urn:foo:bar.



For more details of valid NMR URIs see the ServiceMix URI Guide. 

Using the nmr:service: or nmr:endpoint: URI formats sets the service QName on the JBI endpoint to the one specified. Otherwise, the default Camel JBI Service QName is used, which is:



{http://activemq.apache.org/camel/schema/jbi}endpoint



URI Options



 Option 
 Default Value 
 Description 


 synchronous 
 false 
 When this is set to true on a consumer endpoint, an incoming, synchronous NMR Exchange will be handled on the sender's thread instead of being handled on a new thread of the NMR endpoint's thread pool 






Examples



nmr:service:http://foo.bar.org/MyService
nmr:endpoint:urn:foo:bar:MyService:MyEndpoint
nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint
nmr:name:cheese



Using Stream bodies
If you are using a stream type as the message body, you should be aware that a stream is only capable of being read once. So if you enable DEBUG logging, the body is usually logged and thus read. To deal with this, Camel has a streamCaching option that can cache the stream, enabling you to read it multiple times.



from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint").streamCaching().to("xslt:transform.xsl", "bean:doSomething");



From Camel 1.5 onwards, the stream caching is default enabled, so it is not necessary to set the streamCaching() option.
In Camel 2.0 we store big input streams (by default, over 64K) in a temp file using CachedOutputStream. When you close the input stream, the temp file will be deleted.

See Also

	Configuring Camel
	Component
	Endpoint
	Getting Started





Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel NMR

2010-05-03 Thread confluence







NMR
Page edited by Gert Vanthienen


 Changes (11)
 



...
 {code} 
from(nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint) from(nmr:MyServiceEndpoint) 
{code}  
Automatically exposes a new endpoint to the bus, where the service QName is {{\{http://foo.bar.org}MyService}} and the endpoint name is {{MyEndpoint}} (see [#URI-format]). 
Automatically exposes a new endpoint to the bus with endpoint name {{MyServiceEndpoint}} (see [#URI-format]). 
 When an NMR endpoint appears at the end of a route, for example:  {code} 
to(nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint) to(nmr:MyServiceEndpoint) 
{code}  
...
 {code} 
nmr:service:serviceNamespace[sep]serviceName nmr:endpoint:serviceNamespace[sep]serviceName[sep]endpointName 
nmr:name:endpointName nmr:endpointName 
{code}  
The separator that should be used in the endpoint URL is: * {{/}} (forward slash), if {{serviceNamespace}} starts with {{http://}}, or * {{:}} (colon), if {{serviceNamespace}} starts with {{urn:foo:bar}}.  For more details of valid NMR URIs see the [ServiceMix URI Guide|http://servicemix.apache.org/uris.html].   Using the {{nmr:service:}} or {{nmr:endpoint:}} URI formats sets the service QName on the JBI endpoint to the one specified. Otherwise, the default Camel JBI Service QName is used, which is:  {code} {http://activemq.apache.org/camel/schema/jbi}endpoint {code}  
h4. URI Options || Option || Default Value || Description || 
...
 {code} 
nmr:service:http://foo.bar.org/MyService from(nmr:MyServiceEndpoint) 
nmr:endpoint:urn:foo:bar:MyService:MyEndpoint from(nmr:MyServiceEndpoint?synchronous=true).to(nmr:AnotherEndpoint) 
nmr:endpoint:http://foo.bar.org/MyService/MyEndpoint nmr:name:cheese 
{code}  
...
 {code} 
from(jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint).streamCaching().to(xslt:transform.xsl, from(nmr:MyEndpoint).streamCaching().to(xslt:transform.xsl, bean:doSomething); 
{code}  
...

Full Content

NMR Component

The nmr component is an adapter to the Normalized Message Router (NMR) in ServiceMix, which is intended for use by Camel applications deployed directly into the OSGi container. By contrast, the JBI component is intended for use by Camel applications deployed into the ServiceMix JBI container.

Installing

The NMR component is provided with Apache ServiceMix. It is not distributed with Camel. To install the NMR component in ServiceMix, enter the following command in the ServiceMix console window:



features install nmr



You also need to instantiate the NMR component. You can do this by editing your Spring configuration file, META-INF/spring/*.xml, and adding the following bean instance:



beans xmlns:osgi="http://www.springframework.org/schema/osgi" ... 
...
bean id="nmr" class="org.apache.servicemix.camel.nmr.ServiceMixComponent"
property name="nmr"
osgi:reference interface="org.apache.servicemix.nmr.api.NMR" /
/property
/bean
...
/beans



NMR consumer and producer endpoints

The following code:



from("nmr:MyServiceEndpoint")



Automatically exposes a new endpoint to the bus with endpoint name MyServiceEndpoint (see URIformat).

When an NMR endpoint appears at the end of a route, for example:



to("nmr:MyServiceEndpoint")



The messages sent by this producer endpoint are sent to the already deployed JBI endpoint.


URI format



nmr:endpointName



URI Options



 Option 
 Default Value 
 Description 


 synchronous 
 false 
 When this is set to true on a consumer endpoint, an incoming, synchronous NMR Exchange will be handled on the sender's thread instead of being handled on a new thread of the NMR endpoint's thread pool 






Examples



from("nmr:MyServiceEndpoint")
from("nmr:MyServiceEndpoint?synchronous=true").to("nmr:AnotherEndpoint")



Using Stream bodies
If you are using a stream type as the message body, you should be aware that a stream is only capable of being read once. So if you enable DEBUG logging, the body is usually logged and thus read. To deal with this, Camel has a streamCaching option that can cache the stream, enabling you to read it multiple times.



from("nmr:MyEndpoint").streamCaching().to("xslt:transform.xsl", "bean:doSomething");



From Camel 1.5 onwards, the stream caching is default enabled, so it is not necessary to set the streamCaching() option.
In Camel 2.0 we store big input streams (by default, over 64K) in a temp file using CachedOutputStream. When you close the input stream, the temp file will be deleted.

See Also