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>