diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.doc/html/programmers/connectors/CreatingTransportConnections.html')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.doc/html/programmers/connectors/CreatingTransportConnections.html | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.doc/html/programmers/connectors/CreatingTransportConnections.html b/plugins/org.eclipse.emf.cdo.doc/html/programmers/connectors/CreatingTransportConnections.html new file mode 100644 index 0000000000..36979697fc --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/programmers/connectors/CreatingTransportConnections.html @@ -0,0 +1,196 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> + +<HEAD> +<TITLE> +Creating Transport Connections (CDO Model Repository Documentation) +</TITLE> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Creating Transport Connections (CDO Model Repository Documentation)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> +<center> +<h1>Creating Transport Connections</h1> +</center> +<a name="CreatingTransportConnections.html"/><p> + This tutorial outlines the steps needed to create a Net4j <a href="../../../../org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/IConnector.html" title="Interface in org.eclipse.net4j.connector"><code>IConnector</code></a> and connect it to an <a href="../../../../org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/IAcceptor.html" title="Interface in org.eclipse.net4j.acceptor"><code>IAcceptor</code></a>. + <p> + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu nibh in erat dapibus accumsan. Aenean cursus + lacinia dictum. Mauris non sem sapien. Vivamus sem ante, posuere a rhoncus ac, varius in nisi. Sed pulvinar urna ac + est iaculis mattis. Ut eget massa felis, nec volutpat purus. In id aliquet mi. Duis euismod sapien sollicitudin nisi + vestibulum nec vulputate urna euismod. Proin pulvinar ornare nunc, ac auctor elit placerat eget. Integer eu erat ac + risus ultricies mattis vel nec nunc. Proin venenatis tellus sit amet dui congue nec vehicula urna sollicitudin. Donec + porta, risus eu auctor semper, ante lectus lobortis sem, a luctus diam dui eu sapien. Sed at metus et dolor tincidunt + convallis id a est. Donec quam nisl, scelerisque a feugiat id, mattis vel urna. Suspendisse facilisis, libero ac + ultricies dictum, mi sem feugiat purus, ac aliquam metus purus sed leo. Sed a viverra metus. + +<h2>1 Select a Transport Type</h2> +<a name="SelectTransportType"/><p> + Currently supported transport types are: + <ul> + <li><b>JVM</b> to connect to an <a href="../../../../org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMAcceptor.html" title="Interface in org.eclipse.net4j.jvm"><code>IJVMAcceptor</code></a> in the same Java Virtual Machine. + <li><b>TCP</b> to connect to an <a href="../../../../org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/tcp/ITCPAcceptor.html" title="Interface in org.eclipse.net4j.tcp"><code>ITCPAcceptor</code></a> by means of a <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SocketChannel.html" title="Class in java.nio.channels"><code>SocketChannel</code></a>. + <li><b>SSL</b> an extension to the TCP transport that adds TLS/SSL security. + <li><b>HTTP</b> to connect to an <a href="../../../../org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/http/server/IHTTPAcceptor.html" title="Interface in org.eclipse.net4j.http.server"><code>IHTTPAcceptor</code></a> that is made available by a servlet. + </ul> + Continue with <a href="../sessions/ConnectingToRepositories.html#SetConnectionTimeout" title="Chapter in CDO Model Repository Documentation">Set Connection Timeout</a>. + +<h2>2 Setup a Wiring Container</h2> +<a name="SetupWiringContainer"/><p> + Ut eget massa felis, nec volutpat purus. In id aliquet mi. Duis euismod sapien sollicitudin nisi vestibulum nec + vulputate urna euismod. Proin pulvinar ornare nunc, ac auctor elit placerat eget. Integer eu erat ac risus + ultricies mattis vel nec nunc. + <p> + + +<div class="snippet" style="margin-left:24px;" align="left"> + <a name="snippet_snippet1"/> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><img src="../../../images/editor-top-left.png"/></td> + <td style="background-image:url(../../../images/editor-top1.png); background-repeat:repeat-x;" width="1px"><font face="Segoe UI,Arial" size="-1">ContainerSetup.java</font></td> + <td width="1px"><img src="../../../images/editor-close.png"/></td> + <td style="background-image:url(../../../images/editor-top2.png); background-repeat:repeat-x;"> </td> + <td><img src="../../../images/editor-top-right.png"/></td> + </tr> + <tr> + <td style="background-image:url(../../../images/editor-left.png); background-repeat:repeat-y;"> </td> + <td colspan="3" align="left" valign="top" nowrap> + <div style="margin:10px 0px 10px 0px;"> + <code> + <font color="#3f7f5f">// Create a dedicated container instance</font><br/>
+ IManagedContainer container = <a name="callout_snippet1_1_code" href="#callout_snippet1_1" alt="Create a separate IManagedContainer." title="Create a separate IManagedContainer."><img src="../../../images/callout-1.png" width="16" height="16" border="0" align="top"/></a> <font color="#7f0055"><b>new </b></font>ManagedContainer();<br/>
+ <br/>
+ <font color="#3f7f5f">// Register your custom factories</font><br/>
+ container.registerFactory( <a name="callout_snippet1_2_code" href="#callout_snippet1_2" alt="Create a factory of type "jms" in the productGroup "org.eclipse.net4j.connectors"." title="Create a factory of type "jms" in the productGroup "org.eclipse.net4j.connectors"."><img src="../../../images/callout-2.png" width="16" height="16" border="0" align="top"/></a> <font color="#7f0055"><b>new </b></font>Factory(<font color="#2a00ff">"org.eclipse.net4j.connectors"</font>, <font color="#2a00ff">"jms"</font>)<br/>
+ {<br/>
+ <font color="#7f0055"><b>public </b></font>IConnector create(String description) <font color="#7f0055"><b>throws </b></font>ProductCreationException<br/>
+ {<br/>
+ <font color="#7f0055"><b>return </b></font><a name="callout_snippet1_3_code" href="#callout_snippet1_3" alt="Create a JMS connector." title="Create a JMS connector."><img src="../../../images/callout-3.png" width="16" height="16" border="0" align="top"/></a> <font color="#7f0055"><b>new </b></font>JMSConnector(description);<br/>
+ }<br/>
+ });<br/>
+ <br/>
+ <font color="#3f7f5f">// Use utility classes to register additional factories</font><br/>
+ Net4jUtil.prepareContainer(container);<br/>
+ TCPUtil.prepareContainer(container);<br/>
+ <br/>
+ <font color="#3f7f5f">// Do not forget to activate the container before you use it</font><br/>
+ <a name="callout_snippet1_4_code" href="#callout_snippet1_4" alt="The new container can not be used when inactive." title="The new container can not be used when inactive."><img src="../../../images/callout-4.png" width="16" height="16" border="0" align="top"/></a> container.activate(); + </code> + </div> + </td> + <td style="background-image:url(../../../images/editor-right.png); background-repeat:repeat-y;"> </td> + </tr> + <tr> + <td><img src="../../../images/editor-bottom-left.png"/></td> + <td style="background-image:url(../../../images/editor-bottom.png); background-repeat:repeat-x;" colspan="3"> </td> + <td><img src="../../../images/editor-bottom-right.png"/></td> + </tr> + </table> +</div> +<p/> +<div style="margin-left:24px;"><a name="callout_snippet1_1" href="#callout_snippet1_1_code" alt="Jump to snippet..." title="Jump to snippet..."><img src="../../../images/callout-1.png" width="16" height="16" border="0" align="top"/></a> Create a separate <a href="../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IManagedContainer.html" title="Interface in org.eclipse.net4j.util.container"><code>IManagedContainer</code></a>. + +</div> +<div style="margin-left:24px;"><a name="callout_snippet1_2" href="#callout_snippet1_2_code" alt="Jump to snippet..." title="Jump to snippet..."><img src="../../../images/callout-2.png" width="16" height="16" border="0" align="top"/></a> Create a factory of <i>type</i> "jms" in the <i>productGroup</i> "org.eclipse.net4j.connectors". + +</div> +<div style="margin-left:24px;"><a name="callout_snippet1_3" href="#callout_snippet1_3_code" alt="Jump to snippet..." title="Jump to snippet..."><img src="../../../images/callout-3.png" width="16" height="16" border="0" align="top"/></a> Create a JMS connector. + +</div> +<div style="margin-left:24px;"><a name="callout_snippet1_4" href="#callout_snippet1_4_code" alt="Jump to snippet..." title="Jump to snippet..."><img src="../../../images/callout-4.png" width="16" height="16" border="0" align="top"/></a> The new container can not be used when inactive. + +</div> +<p/> + + <p> + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu nibh in erat dapibus accumsan. Aenean cursus + lacinia dictum. Mauris non sem sapien. Vivamus sem ante, posuere a rhoncus ac, varius in nisi. Sed pulvinar urna ac + est iaculis mattis. Ut eget massa felis, nec volutpat purus. In id aliquet mi. Duis euismod sapien sollicitudin + nisi vestibulum nec vulputate urna euismod. Proin pulvinar ornare nunc, ac auctor elit placerat eget. Integer eu + erat ac risus ultricies mattis vel nec nunc. Proin venenatis tellus sit amet dui congue nec vehicula urna + sollicitudin. Donec porta, risus eu auctor semper, ante lectus lobortis sem, a luctus diam dui eu sapien. Sed at + metus et dolor tincidunt convallis id a est. Donec quam nisl, scelerisque a feugiat id, mattis vel urna. + Suspendisse facilisis, libero ac ultricies dictum, mi sem feugiat purus, ac aliquam metus purus sed leo. Sed a + viverra metus. + +<h2>3 Add Configuration Parameters</h2> +<a name="AddConfigurationParameters"/> + +<h3>3.1 Set the Buffer Capacity</h3> +<a name="SetBufferCapacity"/><p> + + +<div class="snippet" style="margin-left:24px;" align="left"> + <a name="snippet_JMSConnector"/> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><img src="../../../images/editor-top-left.png"/></td> + <td style="background-image:url(../../../images/editor-top1.png); background-repeat:repeat-x;" width="1px"><font face="Segoe UI,Arial" size="-1">JMSConnector.java</font></td> + <td width="1px"><img src="../../../images/editor-close.png"/></td> + <td style="background-image:url(../../../images/editor-top2.png); background-repeat:repeat-x;"> </td> + <td><img src="../../../images/editor-top-right.png"/></td> + </tr> + <tr> + <td style="background-image:url(../../../images/editor-left.png); background-repeat:repeat-y;"> </td> + <td colspan="3" align="left" valign="top" nowrap> + <div style="margin:10px 0px 10px 0px;"> + <code> + <font color="#7f0055"><b>public class </b></font>JMSConnector <font color="#7f0055"><b>extends </b></font>Connector<br/>
+ {<br/>
+ <font color="#7f0055"><b>public </b></font>JMSConnector(String description)<br/>
+ {<br/>
+ }<br/>
+ <br/>
+ <font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font>multiplexChannel(InternalChannel <a name="callout_JMSConnector_1_code" href="#callout_JMSConnector_1" alt="The channel must not be null." title="The channel must not be null."><img src="../../../images/callout-1.png" width="16" height="16" border="0" align="top"/></a> channel)<br/>
+ {<br/>
+ }<br/>
+ <br/>
+ …<br/>
+ } + </code> + </div> + </td> + <td style="background-image:url(../../../images/editor-right.png); background-repeat:repeat-y;"> </td> + </tr> + <tr> + <td><img src="../../../images/editor-bottom-left.png"/></td> + <td style="background-image:url(../../../images/editor-bottom.png); background-repeat:repeat-x;" colspan="3"> </td> + <td><img src="../../../images/editor-bottom-right.png"/></td> + </tr> + </table> +</div> +<p/> +<div style="margin-left:24px;"><a name="callout_JMSConnector_1" href="#callout_JMSConnector_1_code" alt="Jump to snippet..." title="Jump to snippet..."><img src="../../../images/callout-1.png" width="16" height="16" border="0" align="top"/></a> The channel must not be <code>null</code>. + +</div> +<p/> + + +<h3>3.2 Set the Connection Timeout</h3> +<a name="SetConnectionTimeout"/><p> + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu nibh in erat dapibus accumsan. Aenean cursus + lacinia dictum. Mauris non sem sapien. Vivamus sem ante, posuere a rhoncus ac, varius in nisi. Sed pulvinar urna + ac est iaculis mattis. Ut eget massa felis, nec volutpat purus. In id aliquet mi. Duis euismod sapien + sollicitudin nisi vestibulum nec vulputate urna euismod. Proin pulvinar ornare nunc, ac auctor elit placerat + eget. Integer eu erat ac risus ultricies mattis vel nec nunc. Proin venenatis tellus sit amet dui congue nec + vehicula urna sollicitudin. Donec porta, risus eu auctor semper, ante lectus lobortis sem, a luctus diam dui eu + sapien. Sed at metus et dolor tincidunt convallis id a est. Donec quam nisl, scelerisque a feugiat id, mattis vel + urna. Suspendisse facilisis, libero ac ultricies dictum, mi sem feugiat purus, ac aliquam metus purus sed leo. + Sed a viverra metus. + +<HR> +<i>Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.</i> +</BODY> +</HTML> |