JBoss5

jeeTiers.png jeeContainers.png

Locally on debian buster

cp jdk-1_5_0_22-linux-amd64.bin ~
cd ~
./jdk-1_5_0_22-linux-amd64.bin
unzip jboss-5.1.0.GA.zip 
JAVA_HOME=jdk1.5.0_22/ jboss-5.1.0.GA/bin/run.sh -b 0.0.0.0
http://127.0.0.1:8080/

wget https://archive.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
unzip apache-maven-3.1.1-bin.zip 
JAVA_HOME=jdk1.5.0_22/ ~/apache-maven-3.1.1/bin/mvn -version
JAVA_HOME=~/jdk1.5.0_22/ ~/apache-maven-3.1.1/bin/mvn clean install

Docker

Dockerfile

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y openssh-server unzip openjdk-8-jdk net-tools maven vim
RUN mkdir /var/run/sshd
RUN echo 'root:screencast' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
RUN useradd userx
RUN echo 'userx:userx' | chpasswd

EXPOSE 22 8080 8081 8009 8009
CMD ["/usr/sbin/sshd", "-D"]

   1 wget http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA.zip
   2 unzip  jboss-5.1.0.GA.zip
   3 
   4 nano Dockerfile
   5 
   6 docker build -t docker_jboss5 . 
   7 mkdir target
   8 docker run -d -p 8080:8080 --name jboss5_container  --mount type=bind,source="$(pwd)"/target,target=/app  docker_jboss5
   9 #docker run -d -P --name jboss5_container  --mount type=bind,source="$(pwd)"/target,target=/app  docker_jboss5
  10 mv ~/jboss-5.1.0.GA.zip target/
  11 docker exec -it jboss5_container  bash
  12 cd /app
  13 unzip jboss-5.1.0.GA.zip
  14 
  15 ./jdk-1_5_0_22-linux-amd64.bin
  16 /app# jdk1.5.0_22/bin/java -version
  17 #java version "1.5.0_22"
  18 #Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
  19 #Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode)
  20 
  21 #/app/jdk1.5.0_22/bin/java -jar run.jar 
  22 
  23 mvn -version
  24 #Apache Maven 3.3.9
  25 #Maven home: /usr/share/maven
  26 #Java version: 1.8.0_252, vendor: Private Build
  27 #Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
  28 #Default locale: en_US, platform encoding: ANSI_X3.4-1968
  29 #OS name: "linux", version: "4.19.0-6-amd64", arch: "amd64", family: "unix"
  30 
  31 cd /app/jboss-5.1.0.GA/bin
  32 JAVA_HOME=/app/jdk1.5.0_22 ./run.sh -c all -b 0.0.0.0

Example WAR for JBoss5 in docker container

warFile.png

src/main/java/org/allowed/bitarus/TestBean.java

   1 package org.allowed.bitarus;
   2 import java.util.logging.Logger;
   3 import java.util.logging.Level;
   4 
   5 public class TestBean{
   6     private String name;
   7     private Logger logger;
   8     
   9     public TestBean(){
  10         this.logger = Logger.getLogger(this.getClass().getName() );
  11         this.logger.log(Level.INFO,"Created test bean");
  12         this.name="Ioooo";
  13     }   
  14     
  15     public String getName(){
  16         this.logger.info("getName called");
  17         return this.name;        
  18     }
  19     
  20     public void setName(String name){
  21         this.name=name;        
  22     }
  23 }

src/main/java/org/allowed/bitarus/Handler.java

   1 package org.allowed.bitarus;
   2 
   3 import java.util.logging.Logger;
   4 import java.util.logging.Level;
   5 import javax.servlet.ServletRequest;
   6 import javax.servlet.ServletResponse;
   7 import javax.servlet.jsp.JspWriter;
   8 import javax.servlet.jsp.PageContext;
   9 
  10 public class Handler{
  11     private ServletRequest request;
  12     private ServletResponse response;
  13     private JspWriter out;
  14     
  15     public Handler(ServletRequest request, ServletResponse response,JspWriter out){
  16         this.request = request;
  17         this.response = response;        
  18         this.out = out;
  19     }
  20 
  21     public Handler(PageContext pageContext){
  22         this.request = pageContext.getRequest();
  23         this.response = pageContext.getResponse();        
  24         this.out = (JspWriter) pageContext.getAttribute(pageContext.OUT) ;
  25     }
  26     
  27     public void writeHandler(){
  28         try{
  29           this.out.println(String.format("<p>Handler up %s</p>" , this.request.getParameter("user") ));
  30         }
  31         catch(Exception ex){            
  32         }          
  33     }
  34     
  35     public void writeIP(){
  36         try{
  37             this.out.print("!!! Your IP address is " + this.request.getRemoteAddr());
  38         }
  39         catch(Exception ex){            
  40         }          
  41     }
  42         
  43 }

src/main/webapp/otherindex.jsp

   1 <%@page import="org.allowed.bitarus.Handler" %>
   2 <jsp:useBean id="test" class="org.allowed.bitarus.TestBean" />
   3 <% //Handler h = new Handler(request,response,out); %>
   4 <% Handler h = new Handler(pageContext); %>
   5 <html>
   6     <body>        
   7         <p>Other Hello</p>
   8         <p>World <jsp:getProperty name="test" property="name" /> </p>
   9         <% h.writeHandler(); %>
  10         <h2><% out.print("Your IP address is " + request.getRemoteAddr()); %></h2>
  11         <h3><% h.writeIP(); %></h3>
  12     </body>
  13 </html>

src/main/webapp/index.jsp

   1 <%@page import="org.allowed.bitarus.Handler" %>
   2 <jsp:useBean id="test" class="org.allowed.bitarus.TestBean" />
   3 <% //Handler h = new Handler(request,response,out); %>
   4 <% Handler h = new Handler(pageContext); %>
   5 <html>
   6     <body>        
   7         <p>Hello</p>
   8         <p>World <jsp:getProperty name="test" property="name" /> </p>
   9         <% h.writeHandler(); %>
  10         <h2><% out.print("Your IP address is " + request.getRemoteAddr()); %></h2>
  11         <h3><% h.writeIP(); %></h3>
  12     </body>
  13 </html>

src/main/webapp/WEB-INF/web.xml

   1 <?xml version="1.0"?>
   2 <web-app version="2.5"
   3    xmlns="http://java.sun.com/xml/ns/javaee"
   4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   5    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   6    <servlet>
   7         <servlet-name>index</servlet-name>
   8         <jsp-file>/index.jsp</jsp-file>
   9     </servlet>
  10     <servlet-mapping>
  11         <servlet-name>index</servlet-name>
  12         <url-pattern>/index**</url-pattern>
  13     </servlet-mapping>
  14 
  15    <servlet>
  16         <servlet-name>otherindex</servlet-name>
  17         <jsp-file>/otherindex.jsp</jsp-file>
  18     </servlet>
  19     <servlet-mapping>
  20         <servlet-name>otherindex</servlet-name>
  21         <url-pattern>/otherindex**</url-pattern>
  22     </servlet-mapping>
  23 
  24 </web-app>

pom.xml

   1 <project xmlns="http://maven.apache.org/POM/4.0.0"
   2         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   3         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   4         <modelVersion>4.0.0</modelVersion>
   5         <groupId>org.allowed.bitarus</groupId>
   6         <artifactId>warjee5</artifactId>
   7         <version>0.0.1</version>
   8         <packaging>war</packaging>
   9         <dependencies>
  10                 <dependency>
  11                         <groupId>javaee</groupId>
  12                         <artifactId>javaee-api</artifactId>
  13                         <version>5</version>
  14                         <scope>provided</scope>
  15                 </dependency>
  16         </dependencies>
  17         <build>
  18                 <sourceDirectory>src</sourceDirectory>
  19                 <plugins>
  20                         <plugin>
  21                                 <artifactId>maven-compiler-plugin</artifactId>
  22                                 <configuration>
  23                                         <source>1.5</source>
  24                                         <target>1.5</target>
  25                                 </configuration>
  26                         </plugin>
  27                 </plugins>
  28         </build>
  29 </project>

HyperSQL Database (HSQLDB)

HyperSQL is used for development, testing and deployment of database applications.

user: sa
pwd: empty
port: 1701
db path: /app/jboss-5.1.0.GA/server/default/data/hypersonic/localDB    
java -cp ./common/lib/hsqldb.jar org.hsqldb.util.SqlTool localDB

#rcfile
# vi /root/sqltool.rc
urlid localDB
url jdbc:hsqldb:/app/jboss-5.1.0.GA/server/default/data/hypersonic/localDB;shutdown=true
username sa
password

/app/jboss-5.1.0.GA/server/default/data/hypersonic

java -cp /app/jboss-5.1.0.GA/common/lib/hsqldb.jar org.hsqldb.util.SqlTool localDB
\?
\q
# show tables
\dt 
TABLE_SCHEM  TABLE_NAME
-----------  --------------
PUBLIC       ADDENTITY
sql> select * from addentity;
ID  CREATIONDATE             OP1  OP2  RES
--  -----------------------  ---  ---  ---
 1  2020-06-20 15:05:29.037    1    7    8
 2  2020-06-20 15:05:30.509    1    7    8
 3  2020-06-20 15:05:31.137    1    7    8
 4  2020-06-20 15:05:43.043    1   70   71
 5  2020-06-20 15:09:01.0    299    1  300
 6  2020-06-20 15:25:14.918    1    2    3
 7  2020-06-20 15:25:42.434   10   20   30

JNDIView

Show JNDI info. In kmx comsole chosse jboss, service=JNDIView, invoke list, Global JNDI Namespace

Spring 3.0.1 in JBoss 5

pom.xml

   1 <?xml version="1.0" encoding="UTF-8"?>
   2 <project xmlns="http://maven.apache.org/POM/4.0.0" 
   3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   4     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   5 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   6     <modelVersion>4.0.0</modelVersion>
   7     <groupId>org.allowed.bitarus</groupId>
   8     <artifactId>testSpringMVCJSP</artifactId>
   9     <version>0.1.0</version>
  10     <packaging>war</packaging>
  11     <dependencies>
  12                 <dependency>
  13                         <groupId>org.springframework</groupId>
  14                         <artifactId>spring-core</artifactId>
  15                         <version>3.0.1.RELEASE</version>
  16                 </dependency>
  17                 <dependency>
  18                         <groupId>org.springframework</groupId>
  19                         <artifactId>spring-web</artifactId>
  20                         <version>3.0.1.RELEASE</version>
  21                 </dependency> 
  22                 <dependency>
  23                         <groupId>org.springframework</groupId>
  24                         <artifactId>spring-webmvc</artifactId>
  25                         <version>3.0.1.RELEASE</version>
  26                 </dependency>
  27     </dependencies>
  28     <build>
  29         <sourceDirectory>src/main/java</sourceDirectory>
  30         <plugins>
  31            <plugin>
  32                 <artifactId>maven-compiler-plugin</artifactId>
  33                 <configuration>
  34                     <source>1.5</source>
  35                     <target>1.5</target>
  36                 </configuration>
  37             </plugin>
  38         </plugins>
  39     </build>
  40 </project>

src/main/java/org/allowed/bitarus/hello/HelloController.java

   1 package org.allowed.bitarus.hello;
   2 
   3 import org.springframework.stereotype.Controller;
   4 import org.springframework.ui.Model;
   5 import org.springframework.web.bind.annotation.RequestMapping;
   6 import org.springframework.web.bind.annotation.RequestParam;
   7 
   8 @Controller
   9 public class HelloController {
  10     @RequestMapping("/hello")
  11     public String hellox(@RequestParam(value="name", required=false,  defaultValue="World") String name, Model model) {
  12         model.addAttribute("name", name);
  13         return "greeting";
  14     }
  15 }

src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml

   1 <beans xmlns="http://www.springframework.org/schema/beans"
   2         xmlns:context="http://www.springframework.org/schema/context"
   3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   4         xsi:schemaLocation="
   5         http://www.springframework.org/schema/beans     
   6         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   7         http://www.springframework.org/schema/context 
   8         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
   9         <context:component-scan base-package="org.allowed.bitarus.hello" />
  10         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  11                 <property name="prefix">
  12                         <value>/WEB-INF/pages/</value>
  13                 </property>
  14                 <property name="suffix">
  15                         <value>.jsp</value>
  16                 </property>
  17         </bean>
  18 </beans>

src/main/webapp/WEB-INF/pages/greeting.jsp

   1 <!DOCTYPE HTML>
   2 <html xmlns:th="http://www.thymeleaf.org">
   3 <head>
   4     <title>Getting Started: Serving Web Content</title>
   5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   6 </head>
   7 <body>
   8     <p>Hello ${name}</p>
   9 </body>
  10 </html>

src/main/webapp/WEB-INF/web.xml

   1 <web-app id="WebApp_ID" version="2.4"
   2         xmlns="http://java.sun.com/xml/ns/j2ee" 
   3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   4         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
   5         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   6  
   7         <display-name>Spring MVC Application + JSP</display-name> 
   8         <servlet>
   9                 <servlet-name>mvc-dispatcher</servlet-name>
  10                 <servlet-class>
  11                        org.springframework.web.servlet.DispatcherServlet
  12                 </servlet-class>
  13                 <load-on-startup>1</load-on-startup>
  14         </servlet>
  15         <servlet-mapping>
  16                 <servlet-name>mvc-dispatcher</servlet-name>
  17                 <url-pattern>/</url-pattern>
  18         </servlet-mapping>
  19         <context-param>
  20                 <param-name>contextConfigLocation</param-name>
  21                 <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
  22         </context-param>
  23         <listener>
  24                 <listener-class>
  25                       org.springframework.web.context.ContextLoaderListener
  26                 </listener-class>
  27         </listener>
  28 </web-app>

Java/JBoss5 (last edited 2020-06-24 17:44:06 by localhost)