JBoss5
- JEE5 certified
https://docs.oracle.com/javaee/5/tutorial/doc/javaeetutorial5.pdf
- Web container
- EJB container
wget http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA.zip unzip jboss-5.1.0.GA.zip nano Dockerfile docker build -t docker_test . mkdir target docker run -d -P --name test_container1 --mount type=bind,source="$(pwd)"/target,target=/app docker_test mv ~/jboss-5.1.0.GA.zip target/ docker exec -it test_container1 bash apt install unzip openjdk-8-jdk net-tools vim apt remove openjdk-8-jre-headless:amd64 cd /app unzip jboss-5.1.0.GA.zip ./jdk-1_5_0_22-linux-amd64.bin root@681bc2ea28fc:/app# jdk1.5.0_22/bin/java -version java version "1.5.0_22" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode) /app/jdk1.5.0_22/bin/java -jar run.jar cd /app/jboss-5.1.0.GA/bin ./run.sh -b 0.0.0.0
Example ejb for jboss5
./src/main/java/org/allowed/bitarus/ScheduleRemote.java
package org.allowed.bitarus;
import javax.ejb.Remote;
@Remote
public interface ScheduleRemote {
int addSchedule(int val1, int val2);
}./src/main/java/org/allowed/bitarus/ScheduleLocal.java
package org.allowed.bitarus;
import javax.ejb.Local;
@Local
public interface ScheduleLocal {
int addSchedule(int val1, int val2) ;
}./src/main/java/org/allowed/bitarus/ScheduleWS.java
package org.allowed.bitarus;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.allowed.bitarus.ScheduleRemote;
@Stateless
@WebService
public class ScheduleWS implements ScheduleRemote {
@WebMethod
public int addSchedule(int val1, int val2) {
return val1 + val2;
}
}./src/main/resources/META-INF/ejb-jar.xml
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version="3.0">
<enterprise-beans>
<session>
<ejb-name>ScheduleWS</ejb-name>
<business-local>org.allowed.bitarus.ScheduleLocal</business-local>
<business-remote>org.allowed.bitarus.ScheduleRemote</business-remote>
<ejb-class>org.allowed.bitarus.ScheduleWS</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>./pom.xml
<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>org.allowed.bitarus</groupId>
<artifactId>ejbjee5</artifactId>
<version>0.0.1</version>
<packaging>ejb</packaging>
<dependencies>
<dependency>
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
</project>