Introduction to EJB JNDI Lookup on WildFly Application Server - Alejandro Gervasio | alejandro.gervasio@gmail.com (#2417)
* Initial Commit * jboss-ejb-client.properties file * Updated jboss-ejb-client.properties file
This commit is contained in:
parent
9b2e8ec9f9
commit
e13204ca96
|
@ -1,8 +1,8 @@
|
|||
endpoint.name=client-endpoint
|
||||
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
|
||||
remote.connections=default
|
||||
remote.connection.default.host=127.0.0.1
|
||||
remote.connection.default.port=8080
|
||||
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
|
||||
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=false
|
||||
remote.connection.default.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS=${host.auth:JBOSS-LOCAL-USER}
|
||||
remote.connection.default.username=testUser
|
||||
remote.connection.default.password=admin1234!
|
||||
remote.connection.default.username=myusername
|
||||
remote.connection.default.password=mypassword
|
|
@ -0,0 +1,42 @@
|
|||
package com.baeldung.ejbclient.application;
|
||||
|
||||
import com.baeldung.ejbmodule.TextProcessorBean;
|
||||
import com.baeldung.ejbmodule.TextProcessorRemote;
|
||||
import javax.naming.Context;
|
||||
import javax.naming.InitialContext;
|
||||
import javax.naming.NamingException;
|
||||
import java.util.Properties;
|
||||
|
||||
public class TextApplication {
|
||||
|
||||
public static void main(String[] args) throws NamingException {
|
||||
TextProcessorRemote textProcessor = EJBFactory.createTextProcessorBeanFromJNDI("ejb:");
|
||||
System.out.print(textProcessor.processText("sample text"));
|
||||
}
|
||||
|
||||
private static class EJBFactory {
|
||||
|
||||
private static TextProcessorRemote createTextProcessorBeanFromJNDI(String namespace) throws NamingException {
|
||||
return lookupTextProcessorBean(namespace);
|
||||
}
|
||||
|
||||
private static TextProcessorRemote lookupTextProcessorBean(String namespace) throws NamingException {
|
||||
Context ctx = createInitialContext();
|
||||
final String appName = "";
|
||||
final String moduleName = "EJBModule";
|
||||
final String distinctName = "";
|
||||
final String beanName = TextProcessorBean.class.getSimpleName();
|
||||
final String viewClassName = TextProcessorRemote.class.getName();
|
||||
return (TextProcessorRemote) ctx.lookup(namespace + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName);
|
||||
}
|
||||
|
||||
private static Context createInitialContext() throws NamingException {
|
||||
Properties jndiProperties = new Properties();
|
||||
jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
|
||||
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
|
||||
jndiProperties.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
|
||||
jndiProperties.put("jboss.naming.client.ejb.context", true);
|
||||
return new InitialContext(jndiProperties);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
endpoint.name=client-endpoint
|
||||
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
|
||||
remote.connections=default
|
||||
remote.connection.default.host=127.0.0.1
|
||||
remote.connection.default.port=8080
|
||||
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
|
||||
remote.connection.default.username=myusername
|
||||
remote.connection.default.password=mypassword
|
|
@ -0,0 +1,31 @@
|
|||
package com.baeldung.ejbclient.application;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import javax.naming.NamingException;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.PrintStream;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class TextApplicationTest {
|
||||
|
||||
private static ByteArrayOutputStream outContent;
|
||||
|
||||
@BeforeClass
|
||||
public static void setUpPrintStreamInstance() {
|
||||
outContent = new ByteArrayOutputStream();
|
||||
System.setOut(new PrintStream(outContent));
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void tearDownByteArrayOutputStream() {
|
||||
outContent = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenInputString_whenCompareTtoStringPrintedToConsole_thenSuccessful() throws NamingException {
|
||||
TextApplication.main(new String[]{});
|
||||
assertEquals("SAMPLE TEXT", outContent.toString());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package com.baeldung.ejbmodule;
|
||||
|
||||
import javax.ejb.Stateless;
|
||||
|
||||
@Stateless
|
||||
public class TextProcessorBean implements TextProcessorRemote {
|
||||
public String processText(String text) {
|
||||
return text.toUpperCase();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.baeldung.ejbmodule;
|
||||
|
||||
import javax.ejb.Remote;
|
||||
|
||||
@Remote
|
||||
public interface TextProcessorRemote {
|
||||
|
||||
String processText(String text);
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package com.baeldung.ejbmodule;
|
||||
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class TextProcessorBeanTest {
|
||||
@Test
|
||||
public void givenInputString_whenComparedToStringParsedByBean_thenSuccessful() {
|
||||
TextProcessorBean textProcessor = new TextProcessorBean();
|
||||
assertEquals("TEST", textProcessor.processText("test"));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue