...
RMI
...
Component
...
The
...
rmi:
...
component
...
binds
...
...
s
...
to
...
the
...
RMI
...
protocol
...
(JRMP).
...
Since
...
this
...
binding
...
is
...
just
...
using
...
RMI,
...
normal
...
RMI
...
rules
...
still
...
apply
...
regarding
...
what
...
methods
...
can
...
be
...
invoked.
...
This
...
component
...
supports
...
only
...
Exchanges
...
that
...
carry
...
a
...
method
...
invocation
...
from
...
an
...
interface
...
that
...
extends
...
the
...
...
interface.
...
All
...
parameters
...
in
...
the
...
method
...
should
...
be
...
either
...
...
or
...
Remote
...
objects.
...
Maven
...
users
...
will
...
need
...
to
...
add
...
the
...
following
...
dependency
...
to
...
their
...
pom.xml
...
for
...
this
...
component:
Code Block | ||||
---|---|---|---|---|
| ||||
{code:xml} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-rmi</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency> {code} h3. URI format {code} |
URI format
Code Block |
---|
rmi://rmi-regisitry-host:rmi-registry-port/registry-path[?options]
{code}
|
For
...
example:
Code Block |
---|
} rmi://localhost:1099/path/to/service {code} |
You
...
can
...
append
...
query
...
options
...
to
...
the
...
URI
...
in
...
the
...
following
...
format,
...
?option=value&option=value&...
Options
Div | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Using
To call out to an existing RMI service registered in an RMI registry, create a route similar to the following:
Code Block | ||||
---|---|---|---|---|
| ||||
}} h3. Options {div:class=confluenceTableSmall} || Name || Default Value || Description || | {{method}} | {{null}} | You can set the name of the method to invoke. | | {{remoteInterfaces}} | {{null}} | Its now possible to use this option from *Camel 2.7:* in the XML DSL. It can be a list of interface names separated by comma. | {div} h3. Using To call out to an existing RMI service registered in an RMI registry, create a route similar to the following: {code:java} from("pojo:foo").to("rmi://localhost:1099/foo"); {code} |
To
...
bind
...
an
...
existing
...
camel
...
processor
...
or
...
service
...
in
...
an
...
RMI
...
registry,
...
define
...
an
...
RMI
...
endpoint
...
as
...
follows:
Code Block | ||||
---|---|---|---|---|
| ||||
{code:java} RmiEndpoint endpoint= (RmiEndpoint) endpoint("rmi://localhost:1099/bar"); endpoint.setRemoteInterfaces(ISay.class); from(endpoint).to("pojo:bar"); {code} |
Note
...
that
...
when
...
binding
...
an
...
RMI
...
consumer
...
endpoint,
...
you
...
must
...
specify
...
the
...
Remote
...
interfaces
...
exposed.
...
In
...
XML
...
DSL
...
you
...
can
...
do
...
as
...
follows
...
from
...
Camel
...
2.7
...
onwards:
Code Block | ||||
---|---|---|---|---|
| ||||
{code:xml} <camel:route> <from uri="rmi://localhost:37541/helloServiceBean?remoteInterfaces=org.apache.camel.example.osgi.HelloService"/> <to uri="bean:helloServiceBean"/> </camel:route> {code} {include:Endpoint See Also} |
Include Page | ||||
---|---|---|---|---|
|