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 2016/06/24 10:00:30 UTC

[1/2] camel git commit: Added camel-cxf-transport docs to Gitbook

Repository: camel
Updated Branches:
  refs/heads/master 9f8d8c4c5 -> 07d1d2ecc


Added camel-cxf-transport docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d0a4de1f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d0a4de1f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d0a4de1f

Branch: refs/heads/master
Commit: d0a4de1ff5903d73ffcb5b3e668790e4fa852991
Parents: 9f8d8c4
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Jun 24 11:48:05 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Jun 24 11:48:05 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/cxf-transport.adoc            | 278 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 279 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d0a4de1f/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
new file mode 100644
index 0000000..a592eb8
--- /dev/null
+++ b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
@@ -0,0 +1,278 @@
+[[CamelTransportforCXF-WhatstheCamelTransportforCXF]]
+What's the Camel Transport for CXF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In CXF you offer or consume a webservice by defining its address. The
+first part of the address specifies the protocol to use. For example
+address="http://localhost:9000" in an endpoint configuration means your
+service will be offered using the http protocol on port 9000 of
+localhost. When you integrate Camel Tranport into CXF you get a new
+transport "camel". So you can specify
+address="camel://direct:MyEndpointName" to bind the CXF service address
+to a camel direct endpoint.
+
+Technically speaking Camel transport for CXF is a component which
+implements the
+http://cwiki.apache.org/CXF20DOC/cxf-architecture.html#CXFArchitecture-Transports[CXF
+transport API] with the Camel core library. This allows you to easily
+use Camel's routing engine and integration patterns support together
+with your CXF services.
+
+[[CamelTransportforCXF-IntegrateCamelintoCXFtransportlayer]]
+Integrate Camel into CXF transport layer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To include the Camel Tranport into your CXF bus you use the
+CamelTransportFactory. You can do this in Java as well as in Spring.
+
+[[CamelTransportforCXF-SettinguptheCamelTransportinSpring]]
+Setting up the Camel Transport in Spring
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can use the following snippet in your applicationcontext if you want
+to configure anything special. If you only want to activate the camel
+transport you do not have to do anything in your application context. As
+soon as you include the camel-cxf-transport jar (or camel-cxf.jar if
+your camel version is less than 2.7.x) in your app, cxf will scan the
+jar and load a CamelTransportFactory for you.
+
+[source,xml]
+--------------------------------------------------------------------------------------------------------
+<!-- you don't need to specify the CamelTransportFactory configuration as it is auto load by CXF bus -->
+<bean class="org.apache.camel.component.cxf.transport.CamelTransportFactory">
+  <property name="bus" ref="cxf" />
+  <property name="camelContext" ref="camelContext" />
+  <!-- checkException new added in Camel 2.1 and Camel 1.6.2 -->
+  <!-- If checkException is true , CamelDestination will check the outMessage's
+     exception and set it into camel exchange. You can also override this value 
+     in CamelDestination's configuration. The default value is false.
+     This option should be set true when you want to leverage the camel's error 
+     handler to deal with fault message -->
+  <property name="checkException" value="true" />
+  <property name="transportIds">
+    <list>
+      <value>http://cxf.apache.org/transports/camel</value>
+    </list>
+  </property>
+</bean>
+--------------------------------------------------------------------------------------------------------
+
+[[CamelTransportforCXF-IntegratingtheCamelTransportinaprogrammaticway]]
+Integrating the Camel Transport in a programmatic way
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Camel transport provides a setContext method that you could use to set
+the Camel context into the transport factory. If you want this factory
+take effect, you need to register the factory into the CXF bus. Here is
+a full example for you.
+
+[source,java]
+------------------------------------------------------------------------------------------------------------------
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.transport.ConduitInitiatorManager;
+import org.apache.cxf.transport.DestinationFactoryManager;
+...
+
+BusFactory bf = BusFactory.newInstance();
+Bus bus = bf.createBus();
+CamelTransportFactory camelTransportFactory = new CamelTransportFactory();
+// set up the CamelContext which will be use by the CamelTransportFactory
+camelTransportFactory.setCamelContext(context)
+// if you are using CXF higher then 2.4.x the 
+camelTransportFactory.setBus(bus);
+
+// if you are lower CXF, you need to register the ConduitInitiatorManager and DestinationFactoryManager like below
+// register the conduit initiator
+ConduitInitiatorManager cim = bus.getExtension(ConduitInitiatorManager.class);
+cim.registerConduitInitiator(CamelTransportFactory.TRANSPORT_ID, camelTransportFactory);
+// register the destination factory
+DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
+dfm.registerDestinationFactory(CamelTransportFactory.TRANSPORT_ID, camelTransportFactory);
+// set or bus as the default bus for cxf
+BusFactory.setDefaultBus(bus);
+------------------------------------------------------------------------------------------------------------------
+
+[[CamelTransportforCXF-ConfigurethedestinationandconduitwithSpring]]
+Configure the destination and conduit with Spring
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[CamelTransportforCXF-Namespace]]
+Namespace
+^^^^^^^^^
+
+The elements used to configure an Camel transport endpoint are defined
+in the namespace `http://cxf.apache.org/transports/camel`. It is
+commonly referred to using the prefix `camel`. In order to use the Camel
+transport configuration elements, you will need to add the lines shown
+below to the beans element of your endpoint's configuration file. In
+addition, you will need to add the configuration elements' namespace to
+the `xsi:schemaLocation` attribute.
+
+*Adding the Configuration Namespace*
+
+[source,java]
+---------------------------------------------------------------------
+<beans ...
+       xmlns:camel="http://cxf.apache.org/transports/camel
+       ...
+       xsi:schemaLocation="...
+                           http://cxf.apache.org/transports/camel
+                           http://cxf.apache.org/transports/camel.xsd
+                          ...>
+---------------------------------------------------------------------
+
+[[CamelTransportforCXF-Thedestinationelement]]
+The `destination` element
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You configure an Camel transport server endpoint using the
+`camel:destination` element and its children. The `camel:destination`
+element takes a single attribute, `name`, that specifies the WSDL port
+element that corresponds to the endpoint. The value for the `name`
+attribute takes the form _portQName_`.camel-destination`. The example
+below shows the `camel:destination` element that would be used to add
+configuration for an endpoint that was specified by the WSDL fragment
+`<port binding="widgetSOAPBinding" name="widgetSOAPPort">` if the
+endpoint's target namespace was `http://widgets.widgetvendor.net`.
+
+*camel:destination Element*
+
+[source,java]
+---------------------------------------------------------------------------------------------------------------------------
+...
+  <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-destination>
+    <camelContext id="context" xmlns="http://activemq.apache.org/camel/schema/spring">
+         <route>
+           <from uri="direct:EndpointC" />
+           <to uri="direct:EndpointD" />
+         </route>
+     </camelContext>
+  </camel:destination>
+
+  <!-- new added feature since Camel 2.11.x
+  <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-destination" camelContextId="context" />  
+
+...
+---------------------------------------------------------------------------------------------------------------------------
+
+The `camel:destination` element for Spring has a number of child
+elements that specify configuration information. They are described
+below.
+
+Element
+
+Description
+
+`camel-spring:camelContext`
+
+You can specify the camel context in the camel destination
+
+`camel:camelContextRef`
+
+The camel context id which you want inject into the camel destination
+
+[[CamelTransportforCXF-Theconduitelement]]
+The `conduit` element
+^^^^^^^^^^^^^^^^^^^^^
+
+You configure a Camel transport client using the `camel:conduit` element
+and its children. The `camel:conduit` element takes a single attribute,
+`name`, that specifies the WSDL port element that corresponds to the
+endpoint. The value for the `name` attribute takes the form
+_portQName_`.camel-conduit`. For example, the code below shows the
+`camel:conduit` element that would be used to add configuration for an
+endpoint that was specified by the WSDL fragment
+`<port binding="widgetSOAPBinding" name="widgetSOAPPort">` if the
+endpoint's target namespace was `http://widgets.widgetvendor.net`.
+
+*http-conf:conduit Element*
+
+[source,xml]
+-------------------------------------------------------------------------------------------------------------------------
+...
+  <camelContext id="conduit_context" xmlns="http://activemq.apache.org/camel/schema/spring">
+       <route>
+           <from uri="direct:EndpointA" />
+           <to uri="direct:EndpointB" />
+       </route>
+   </camelContext>
+
+  <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit">
+     <camel:camelContextRef>conduit_context</camel:camelContextRef>
+  </camel:conduit>
+
+  <!-- new added feature since Camel 2.11.x
+  <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit" camelContextId="conduit_context" />
+     
+
+  <camel:conduit name="*.camel-conduit">
+  <!-- you can also using the wild card to specify the camel-conduit that you want to configure -->
+    ...
+  </camel:conduit>
+...
+-------------------------------------------------------------------------------------------------------------------------
+
+The `camel:conduit` element has a number of child elements that specify
+configuration information. They are described below.
+
+Element
+
+Description
+
+`camel-spring:camelContext`
+
+You can specify the camel context in the camel conduit
+
+`camel:camelContextRef`
+
+The camel context id which you want inject into the camel conduit
+
+[[CamelTransportforCXF-ConfigurethedestinationandconduitwithBlueprint]]
+Configure the destination and conduit with Blueprint
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+From *Camel 2.11.x*, Camel Transport supports to be configured with
+Blueprint.
+
+If you are using blueprint, you should use the the namespace
+`http://cxf.apache.org/transports/camel/blueprint` and import the schema
+like the blow.
+
+*Adding the Configuration Namespace for blueprint*
+
+[source,java]
+-----------------------------------------------------------------------------
+<beans ...
+       xmlns:camel="http://cxf.apache.org/transports/camel/blueprint"
+       ...
+       xsi:schemaLocation="...
+                           http://cxf.apache.org/transports/camel/blueprint 
+                           http://cxf.apache.org/schmemas/blueprint/camel.xsd
+                          ...>
+-----------------------------------------------------------------------------
+
+In blueprint `camel:conduit` `camel:destination` only has one
+camelContextId attribute, they doesn't support to specify the camel
+context in the camel destination.
+
+[source,java]
+------------------------------------------------------------------------
+  <camel:conduit id="*.camel-conduit" camelContextId="camel1" />
+  <camel:destination id="*.camel-destination" camelContextId="camel1" />
+------------------------------------------------------------------------
+
+[[CamelTransportforCXF-ExampleUsingCamelasaloadbalancerforCXF]]
+Example Using Camel as a load balancer for CXF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This example shows how to use the camel load balancing feature in CXF.
+You need to load the configuration file in CXF and publish the endpoints
+on the address "camel://direct:EndpointA" and "camel://direct:EndpointB"
+
+[[CamelTransportforCXF-CompleteHowtoandExampleforattachingCameltoCXF]]
+Complete Howto and Example for attaching Camel to CXF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+link:better-jms-transport-for-cxf-webservice-using-apache-camel.html[Better
+JMS Transport for CXF Webservice using Apache Camel]�

http://git-wip-us.apache.org/repos/asf/camel/blob/d0a4de1f/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 1d83c31..7197461 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -142,6 +142,7 @@
         * [Crypto Digital Signatures](crypto-digital-signatures.adoc)
     * [CSV](csv.adoc)
     * [CXF](cxf.adoc)
+        * [CXF Transport](cxf-transport.adoc)
     * [Disruptor](disruptor.adoc)
     * [DNS](dns.adoc)
     * [Docker](docker.adoc)


[2/2] camel git commit: Added camel-coap docs to Gitbook

Posted by ac...@apache.org.
Added camel-coap docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/07d1d2ec
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/07d1d2ec
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/07d1d2ec

Branch: refs/heads/master
Commit: 07d1d2eccb1831ddaf27c6fbf538366e20089fc6
Parents: d0a4de1
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Jun 24 11:59:59 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Jun 24 11:59:59 2016 +0200

----------------------------------------------------------------------
 components/camel-coap/src/main/docs/coap.adoc | 52 ++++++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                |  1 +
 2 files changed, 53 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/07d1d2ec/components/camel-coap/src/main/docs/coap.adoc
----------------------------------------------------------------------
diff --git a/components/camel-coap/src/main/docs/coap.adoc b/components/camel-coap/src/main/docs/coap.adoc
new file mode 100644
index 0000000..dc2c92f
--- /dev/null
+++ b/components/camel-coap/src/main/docs/coap.adoc
@@ -0,0 +1,52 @@
+[[CoAP-CoAPComponent]]
+CoAP Component
+~~~~~~~~~~~~~~
+
+*Camel-CoAP* is an http://camel.apache.org/[Apache Camel] component that
+allows you to work with CoAP, a lightweight REST-type protocol for machine-to-machine operation. 
+http://coap.technology/[CoAP], Constrained Application Protocol is a specialized web transfer protocol 
+for use with constrained nodes and constrained networks and it is based on RFC 7252.
+
+*Available as of Camel 2.16*
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,xml]
+---------------------------------------------------------
+<dependency>
+�<groupId>org.apache.camel</groupId>
+�<artifactId>camel-coap</artifactId>
+�<version>x.x.x</version>
+�<!-- use the same version as your Camel core version -->
+</dependency>
+---------------------------------------------------------
+
+[[CoAP-Options]]
+Options
+~~~~~~~
+
+
+// component options: START
+The CoAP component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The CoAP component supports 6 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| uri | common |  | URI | The URI for the CoAP endpoint
+| coapMethod | common | * | String | The CoAP method this endpoint binds to. Default is to bind to all () but can be restricted to GET POST PUT DELETE
+| bridgeErrorHandler | consumer | false | boolean | Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN/ERROR level and ignored.
+| exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+

http://git-wip-us.apache.org/repos/asf/camel/blob/07d1d2ec/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 7197461..1c4ef4a 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -136,6 +136,7 @@
     * [CDI](cdi.adoc)
     * [Chunk](chunk.adoc)
     * [Cmis](cmis.adoc)
+    * [CoAP](coap.adoc)
     * [Cometd](cometd.adoc)
     * [Couchdb](couchdb.adoc)
     * [Crypto](crypto.adoc)