1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
<!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 Release Engineering Documentation)</TITLE>
<LINK REL="STYLESHEET" HREF="../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Creating Transport Connections (CDO Release Engineering Documentation)";
}
}
</SCRIPT>
<NOSCRIPT></NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- <div class="help_breadcrumbs"><a href="../../Overview.html" title="CDO Release Engineering Documentation">CDO Release Engineering Documentation</a> > <a href="../index.html" title="Category in CDO Release Engineering Documentation">Technical Writer's Guide</a> > <a href="index.html" title="Category in CDO Release Engineering Documentation">Examples</a></div> -->
<h1><a name="CreatingTransportConnections.html"/>Creating Transport Connections</h1>
<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.
<p>
<b>Table of Contents</b> <p>
<table border="0">
<tr><td>1 </td><td colspan="4"><a href="CreatingTransportConnections.html#SelectTransportType" title="Chapter in CDO Release Engineering Documentation">Select a Transport Type</a></td></tr>
<tr><td>2 </td><td colspan="4"><a href="CreatingTransportConnections.html#SetupWiringContainer" title="Chapter in CDO Release Engineering Documentation">Setup a Wiring Container</a></td></tr>
<tr><td>3 </td><td colspan="4"><a href="CreatingTransportConnections.html#AddConfigurationParameters" title="Chapter in CDO Release Engineering Documentation">Add Configuration Parameters</a></td></tr>
<tr><td/><td>3.1 </td><td colspan="3"><a href="CreatingTransportConnections.html#SetBufferCapacity" title="Chapter in CDO Release Engineering Documentation">Set the Buffer Capacity</a></td></tr>
<tr><td/><td>3.2 </td><td colspan="3"><a href="CreatingTransportConnections.html#SetConnectionTimeout" title="Chapter in CDO Release Engineering Documentation">Set the Connection Timeout</a></td></tr>
</table>
</p>
<h2><a name="SelectTransportType"/>1 Select a Transport Type</h2>
<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="CreatingTransportConnections.html#SetConnectionTimeout" title="Chapter in CDO Release Engineering Documentation">Set the Connection Timeout</a>.
<h2><a name="SetupWiringContainer"/>2 Setup a Wiring Container</h2>
<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><a name="AddConfigurationParameters"/>3 Add Configuration Parameters</h2>
<h3><a name="SetBufferCapacity"/>3.1 Set the Buffer Capacity</h3>
<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><a name="SetConnectionTimeout"/>3.2 Set the Connection Timeout</h3>
<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>
|