| = Clients |
| :index-group: Configuration |
| :jbake-date: 2018-12-05 |
| :jbake-type: page |
| :jbake-status: published |
| |
| |
| == Local Client (embedded container) |
| |
| [source,java] |
| ---- |
| Properties p = new Properties(); |
| p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory"); |
| |
| InitialContext ctx = new InitialContext(p); |
| |
| MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote"); |
| ---- |
| |
| == Local Client (non-default realm name) |
| |
| == Login configuration file (conf/login.config) |
| |
| [source,java] |
| ---- |
| PropertiesLogin { |
| org.apache.openejb.core.security.jaas.PropertiesLoginModule required |
| Debug=true |
| UsersFile="users.properties" |
| GroupsFile="groups.properties"; |
| }; |
| MyApp { |
| org.apache.openejb.core.security.jaas.SQLLoginModule required |
| dataSourceName="MyDataSource" |
| userSelect="SELECT username, password FROM users WHERE username=?" |
| groupSelect="SELECT username, grp FROM users WHERE username=?"; |
| }; |
| ---- |
| |
| == Code |
| |
| [source,java] |
| ---- |
| Properties p = new Properties(); |
| p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory"); |
| p.put("openejb.authentication.realmName", "MyApp"); |
| |
| InitialContext ctx = new InitialContext(p); |
| |
| MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote"); |
| ---- |
| |
| == Remote Client (openejb standalone) |
| |
| [source,java] |
| ---- |
| Properties p = new Properties(); |
| p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); |
| p.put("java.naming.provider.url", "ejbd://localhost:4201"); |
| // user and pass optional |
| p.put("java.naming.security.principal", "myuser"); |
| p.put("java.naming.security.credentials", "mypass"); |
| |
| InitialContext ctx = new InitialContext(p); |
| |
| MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote"); |
| ---- |
| |
| == Remote Client with HTTP (openejb standalone) |
| |
| [source,java] |
| ---- |
| Properties p = new Properties(); |
| p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); |
| p.put("java.naming.provider.url", "http://localhost:4204/ejb"); |
| // user and pass optional |
| p.put("java.naming.security.principal", "myuser"); |
| p.put("java.naming.security.credentials", "mypass"); |
| |
| InitialContext ctx = new InitialContext(p); |
| |
| MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote"); |
| ---- |
| |
| == Remote Client with HTTP (in TomEE) |
| |
| [source,java] |
| ---- |
| Properties p = new Properties(); |
| p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); |
| p.put("java.naming.provider.url", "http://127.0.0.1:8080/tomee/ejb"); |
| // user and pass optional |
| p.put("java.naming.security.principal", "myuser"); |
| p.put("java.naming.security.credentials", "mypass"); |
| |
| InitialContext ctx = new InitialContext(p); |
| |
| MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote"); |
| ---- |
| |
| == Remote Client using @EJB Injection see here: ejb-refs |