parent
67b3d62b91
commit
22207e646b
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.baeldung.ejb</groupId>
|
||||||
|
<artifactId>ejb</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>ejb-client</artifactId>
|
||||||
|
<name>EJB3 Client Maven</name>
|
||||||
|
<description>EJB3 Client Maven</description>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.wildfly</groupId>
|
||||||
|
<artifactId>wildfly-ejb-client-bom</artifactId>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baeldung.ejb</groupId>
|
||||||
|
<artifactId>ejb-remote</artifactId>
|
||||||
|
<type>ejb</type>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,71 @@
|
||||||
|
package com.baeldung.ejb.client;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.naming.Context;
|
||||||
|
import javax.naming.InitialContext;
|
||||||
|
import javax.naming.NamingException;
|
||||||
|
|
||||||
|
import com.baeldung.ejb.tutorial.HelloWorld;
|
||||||
|
|
||||||
|
public class EJBClient {
|
||||||
|
|
||||||
|
public EJBClient() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private Context context = null;
|
||||||
|
|
||||||
|
public String getEJBRemoteMessage() {
|
||||||
|
EJBClient main = new EJBClient();
|
||||||
|
try {
|
||||||
|
// 1. Obtaining Context
|
||||||
|
main.createInitialContext();
|
||||||
|
// 2. Generate JNDI Lookup name and caste
|
||||||
|
HelloWorld helloWorld = main.lookup();
|
||||||
|
return helloWorld.getHelloWorld();
|
||||||
|
} catch (NamingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return "";
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
main.closeContext();
|
||||||
|
} catch (NamingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public HelloWorld lookup() throws NamingException {
|
||||||
|
|
||||||
|
// The app name is the EAR name of the deployed EJB without .ear suffix.
|
||||||
|
// Since we haven't deployed the application as a .ear, the app name for
|
||||||
|
// us will be an empty string
|
||||||
|
final String appName = "";
|
||||||
|
final String moduleName = "remote";
|
||||||
|
final String distinctName = "";
|
||||||
|
final String beanName = "HelloWorld";
|
||||||
|
final String viewClassName = HelloWorld.class.getName();
|
||||||
|
final String toLookup = "ejb:" + appName + "/" + moduleName
|
||||||
|
+ "/" + distinctName + "/" + beanName + "!" + viewClassName;
|
||||||
|
return (HelloWorld) context.lookup(toLookup);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void createInitialContext() throws NamingException {
|
||||||
|
Properties prop = new Properties();
|
||||||
|
prop.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
|
||||||
|
prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
|
||||||
|
prop.put(Context.PROVIDER_URL, "http-remoting://127.0.0.1:8080");
|
||||||
|
prop.put(Context.SECURITY_PRINCIPAL, "pritamtest");
|
||||||
|
prop.put(Context.SECURITY_CREDENTIALS, "iamtheki9g");
|
||||||
|
prop.put("jboss.naming.client.ejb.context", false);
|
||||||
|
|
||||||
|
context = new InitialContext(prop);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closeContext() throws NamingException {
|
||||||
|
if (context != null) {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
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=pritamtest
|
||||||
|
remote.connection.default.password=iamtheki9g
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.baeldung.ejb.setup.test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
import org.junit.Test;
|
||||||
|
import com.baeldung.ejb.client.EJBClient;
|
||||||
|
import com.baeldung.ejb.tutorial.HelloWorldBean;
|
||||||
|
|
||||||
|
public class EJBSetupTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEJBClient() {
|
||||||
|
EJBClient ejbClient = new EJBClient();
|
||||||
|
HelloWorldBean bean = new HelloWorldBean();
|
||||||
|
assertEquals(bean.getHelloWorld(), ejbClient.getEJBRemoteMessage());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.baeldung.ejb</groupId>
|
||||||
|
<artifactId>ejb</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>ejb-remote</artifactId>
|
||||||
|
<packaging>ejb</packaging>
|
||||||
|
|
||||||
|
<name>ejb-remote</name>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jboss.spec.javax.ejb</groupId>
|
||||||
|
<artifactId>jboss-ejb-api_3.2_spec</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>ejb-remote</finalName>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.baeldung.ejb.tutorial;
|
||||||
|
|
||||||
|
import javax.ejb.Remote;
|
||||||
|
|
||||||
|
@Remote
|
||||||
|
public interface HelloWorld {
|
||||||
|
String getHelloWorld();
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.baeldung.ejb.tutorial;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.ejb.SessionContext;
|
||||||
|
import javax.ejb.Stateless;
|
||||||
|
|
||||||
|
@Stateless(name = "HelloWorld")
|
||||||
|
public class HelloWorldBean implements HelloWorld {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SessionContext context;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getHelloWorld() {
|
||||||
|
return "Welcome to EJB Tutorial!";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ejb-jar xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd"
|
||||||
|
version="3.2">
|
||||||
|
<module-name>remote</module-name>
|
||||||
|
</ejb-jar>
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>com.baeldung.ejb</groupId>
|
||||||
|
<artifactId>ejb</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<name>ejb</name>
|
||||||
|
<description>EJB Tutorial</description>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>jboss-public-repository-group</id>
|
||||||
|
<name>JBoss Public Maven Repository Group</name>
|
||||||
|
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
|
||||||
|
<layout>default</layout>
|
||||||
|
<releases>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>never</updatePolicy>
|
||||||
|
</releases>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>never</updatePolicy>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baeldung.ejb</groupId>
|
||||||
|
<artifactId>ejb-remote</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<type>ejb</type>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jboss.spec</groupId>
|
||||||
|
<artifactId>jboss-javaee-7.0</artifactId>
|
||||||
|
<version>1.0.1.Final</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.wildfly</groupId>
|
||||||
|
<artifactId>wildfly-ejb-client-bom</artifactId>
|
||||||
|
<version>10.1.0.Final</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.1</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.7</source>
|
||||||
|
<target>1.7</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-ejb-plugin</artifactId>
|
||||||
|
<version>2.4</version>
|
||||||
|
<configuration>
|
||||||
|
<ejbVersion>3.2</ejbVersion>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>ejb-remote</module>
|
||||||
|
<module>ejb-client</module>
|
||||||
|
</modules>
|
||||||
|
</project>
|
Loading…
Reference in New Issue