blob: dcb5a266faaa80bc438898e196ce812ad6b7bfbe [file] [log] [blame]
= Remote Server
:index-group: OpenEJB Standalone Server
:jbake-date: 2018-12-05
:jbake-type: page
:jbake-status: published
!http://www.openejb.org/images/diagram-remote-server.gif|valign=top,
align=right, hspace=15! # Accessing EJBs Remotely
When using OpenEJB as a stand-alone server you can connect across a
network and access EJBs from a remote client. The client code for
accessing an EJB's Remote Interface is the same, however to actually
connect across a network to the server, you need to specify different
JNDI parameters.
= Short version
Using OpenEJB's default remote server implementation is pretty straight
forward. You simply need to:
[arabic]
. Deploy your bean.
. Start the server on the IP and Port you want, 25.14.3.92 and 4201 for
example.
. Use that information in your client to create an initial context
. Add the right jars to your client's classpath
So, here it is in short.
Deploy your bean with the Deploy Tool:
[source,java]
----
c:\openejb> openejb.bat deploy beans\myBean.jar
----
See the openejbx30:deploy-tool.html[OPENEJBx30:Deploy Tool]
documentation for more details on deploying beans.
Start the server:
[source,java]
----
c:\openejb> openejb.bat start -h 25.14.3.92 -p 4201
----
See the Remote Server command-line guide for more details on starting
the Remote Server.
Create an initial context in your client as such:
[source,java]
----
Properties p = new Properties();
p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
p.put("java.naming.provider.url", "ejbd://25.14.3.92:4201");
p.put("java.naming.security.principal", "myuser");
p.put("java.naming.security.credentials", "mypass");
InitialContext ctx = new InitialContext(p);
----
If you don't have any EJBs or clients to run, try the ubiquitous
openejbx30:hello-world.html[Hello World] example. Add the following
library to your clients classpath:
* openejb-client-x.x.x.jar
* javaee-api-x.x.jar
Both can be found in the lib directory where you installed OpenEJB or in
Maven repositories.