JBoss

From Wiki RB4
Revision as of 11:30, 11 June 2020 by UweHeuer (talk | contribs) (→‎CLI)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction[edit]

Wildfly[edit]

On 20 November 2014, JBoss Application Server was renamed WildFly. The JBoss Community and other Red Hat JBoss products like JBoss Enterprise Application Platform were not renamed. WildFly or simply JBoss, is an application server authored by JBoss, now developed by Red Hat. WildFly is written in Java, and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on multiple platforms. WildFly is free and open-source software.

JBoss 7[edit]

JBoss Application Server 7, is a fast, powerful, implementation of the Java Enterprise Edition 6 specification. The state-of-the-art architecture built on the Modular Service Container enables services on-demand when your application requires them. There two modes: standalone and domain, which is a group of servers.

Overview of implemented Standards[edit]

see https://docs.jboss.org/author/display/AS7/Getting+Started+Guide

Extensions[edit]

An extension is a module that extends the core capabilities of the server. The JBoss Application Server 7 core is very simple and lightweight; most of the capabilities people associate with an application server are provided via extensions. An extension is packaged as a module in the modules folder. The user indicates that they want a particular extension to be available by including an <extension/> element naming its module configuration file.

JBoss < 7[edit]

The following components are part of the JBoss application server:

  • Hibernate?
  • Tomcat

Installation[edit]

Home PC New[edit]

see here

HP EBS Laptop New[edit]

see here

Raspberry PI[edit]

see here

VServer Server4You[edit]

see here

HP EBS Laptop[edit]

see here

  • download JBoss Enterprise Application Platform 6 EAP
  • create admin user 'UweHeuer' and 'Halloo0@1' with batch script
  • deploy mysql connector
  • create Data Sources with Web-Admin interface
  • deploy uweheuer.war and enable
  • add to standalone.xml for uweheuer application
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" enabled="true"/>
...
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %C.%M %L: %s%E%n"/>
...
<logger category="uweheuer" use-parent-handlers="false">
  <level name="INFO"/>
  <handlers>
    <handler name="FILE"/>
  </handlers>
</logger>

Create Service[edit]


Shutdown[edit]

  • open the Windows Services dialogue and stop the services or
  • in a cmd shell type:
C:\Uwes\Programme\Java\JBoss\jboss-eap-6.1.0\jboss-eap-6.1\bin>jboss-cli.bat --connect command=:shutdown

Configuration[edit]

JBoss 7[edit]

  • use <JBOSS_HOME>\bin\jboss-admin.bat or Web Console
  • stored in <JBOSS_HOME>\standalone\configuration\standalone.xml
  • for Axis2 see here

Database Configuration[edit]

Datasources are configured through the datasource subsystem. Declaring a new datasource consists of two separate steps: You would need to provide a JDBC driver and define a datasource that references the driver you installed. There is a datasource 'ExampleDS' coming together with the installation.

Enabling Remote Access[edit]

<interface name="management">
  <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
  <inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>

Set Timeout for JBoss client[edit]

e.g. for deployments set in jboss-cli.xml

<connection-timeout>10000</connection-timeout>

Enabling access.log[edit]

<access-log pattern="%h %l %u %t %r %s %b %{User-Agent}i %{JSESSIONID}c" prefix="access"/>

creates folder default-host below the log directory with a file named access<DATE>.

Logging Configuration[edit]

The overall server logging configuration is represented by the logging subsystem. It consists of three notable parts: handler configurations, logger and the root logger declarations (aka log categories).

Output goes to:

  • .../standalone/log/server.log contains also startup output
  • HP EBS Laptop New
  • Z:\usr\share\jboss7\standalone\log\ at Home PC New
  • Server4You

It is defined in standalone configuration file, which can configured by the Admin console -> Profile -> Core -> Logging.

You may have noticed that there is a logging.properties file in the configuration directory. This logging configuration is used when the server boots up until the logging subsystem kicks in. If the logging subsystem is not included in your configuration, then this would act as the logging configuration for the entire server.

UweHeuer Logging[edit]

see uweheuer

Apache configuration[edit]

For connecting to Apache acting as proxy add to standalone.xml JBoss configuration file:

<connector name="ajp" protocol="AJP/1.3" socket-binding="ajp" enabled="true"/>

<socket-binding name="ajp" port="8009"/>

Apache Configuration on HomePC see here

JBoss < 7[edit]

The JBoss Enterprise Application Platform ships with four different server configurations. Within the jboss-4.2.2.GA/server directory, you will find four subdirectories: minimal, default, production and all - one for each server configuration. Each of these configurations provide a different set of services. The default configuration is the one used if you don’t specify another one when starting up the server. If you want to know which services are configured in each of these instances, look at the jboss-service.xml file in the jboss-4.2.2.GA/server/<instance-name>/conf/ directory and also the configuration files in the jboss-4.2.2.GA/server/<instance-name>/deploy directory. The directory server configuration you’re using, is effectively the server root while JBoss is running. It contains all the code and configuration information for the services provided by the particular server configuration. It’s where the log output goes, and it’s where you deploy your applications.

  • in <JBOSS_HOME_423> and <JBOSS_HOME_422>\server\default\conf\jboss-service.xml from 1099 to 1499 because of exception at startup
  • in <JBOSS_HOME_423>\bin\run.bat Zeile 66 JAVA_OPTS um -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128m ergänzt um die OutOfMemory Exception des PermGen aufzuschieben
  • copy <JBOSS_HOME_423>\bin\run.bat to <JBOSS_HOME_423>\bin\run_debug.bat and decomment line 93 with debug options and suspend=n
  • rename jboss-log4j.xml in jboss-log4j.xml.sik and copy jboss-log4j.xml from C:\Uwes\jboss\jboss-4.2.3.GA\server\default\conf to C:\Uwes\eclipse\workspace\seaminaction\opt\jboss-as-4.2.2.GA\server\default\conf
  • change port in <JBOSS_HOME_422>\server\default\deploy\jboss-web.deployer\server.xml 8080 -> 8088
  • for Axis2 see here

Database configuration[edit]

  • mysql-connector-java-5.1.5-bin.jar nach <JBOSS_HOME>\server\default\lib kopiert
  • The uweheuer data sources a configured via files e.g. mysql-ds.xml in the deploy directory <JBOSS_HOME>\server\default\deploy. The datasource is bound to the JNDI name e.g. java:/DefaultDS (s. JPA configuration).

Operation[edit]

CLI[edit]

Command Line interface (examples see build file of uweheuer):

  • Operation requests is considered a raw low level way to manage things. Normally, for convenience and friendliness users would use
  • Commands instead
/bin/jboss-cli.sh or jboss-cli.bat
[disconnected /] connect 192.168.0.10:9990

Examples:

[standalone@localhost:9999 /] /subsystem=logging/root-logger=ROOT:change-root-log-level(level=DEBUG)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=*:read-resource

Check Server State:

[standalone@localhost:9990 /] :read-attribute(name=server-state)

Reload Configuration:

[standalone@localhost:9990 /] :reload

Restart Server:

[standalone@localhost:9990 /] :shutdown(restart=true)

CLI Batch[edit]

The batches are located in the bin directory:

jboss-cli.bat or 
jboss-cli.sh

Disable Application[edit]

jboss-cli.bat --controller=192.168.178.202 --connect --user=admin --password=Halloo0@1 -c "undeploy uweheuer.war --keep-content"

Enable Disabled Application[edit]

jboss-cli.bat --controller=192.168.178.202 --connect --user=admin --password=Halloo0@1 -c "deploy --name=uweheuer.war"

Shutdown Server[edit]

./jboss-cli.sh --connect --command=:shutdown

Start the server[edit]

JBoss < 7[edit]

  • HomePCNew
  • on Windows systems: <JBOSS_HOME>/bin/run.bat
  • on Linux systems: <JBOSS_HOME>/bin/run.sh > /dev/null &

JBoss 7[edit]

Windows[edit]
  • by cmd line: <JBOSS_HOME>\bin\MyStandalone.bat (s. also Dienste)
  • by eclipse Window -> Show View -> Other -> Other -> Server -> Servers
Ubuntu[edit]
  • on HomePC: /etc/init.d/jboss7 start

Start the server for debugging[edit]

HP EBS laptop installation[edit]

  • open server tab
  • select server 'Red Hat JBoss EAP 6.1+' -> right click-> debug
  • select 'set the server adapter to 'started' without launching a new server'
  • select server 'Red Hat JBoss EAP 6.1+' -> right click-> restart in debug

Stop the server[edit]

JBoss < 7[edit]

  • Windows: <JBOSS_HOME>/bin/MyShutdown.bat
  • Linux-Standard is <JBOSS_HOME>/bin/shutdown.sh --server=localhost
  • on HOME PC because of service installation: manual start or stop in terminal with sudo /etc/init.d/jboss [start|stop]

JBoss 7[edit]

Windows[edit]
  • if started in cmd shell just press CTRl+C
Ubuuntu[edit]
  • on HomePC: /etc/init.d/jboss7 stop
HomePC New[edit]

Deployment of Applications[edit]

JBoss < 7[edit]

  1. copy the ear file to <JBOSS_HOME>/server/<CONFIGURATION>/ directory
  2. it will be expanded to <JBOSS_HOME>/server/<CONFIGURATION>/tmp/deploy/...


JBoss 7[edit]

  • copy war file to <JBOSS_DIR>\standalone\deployments or
  • deployement via CLI (see uweheuer generantion)
  • copy extracted war file to <JBOSS_DIR>\standalone\deployments and create empty file <WAR_FILENAME>.dodeploy

Start the Hypersonic (HSQL) Database Manager[edit]

  • start JBoss JMX Console
  • follow link database=localDB,service=Hypersonic
  • search startDatabaseManager() and press Invoke
  • new client start after some seconds

JBoss applications[edit]

EJB Trail Tutorial[edit]

  1. download EJB3Trail.ear from http://www.jboss.com/docs/trailblazer and copied to deploy directory

TestWebApplication[edit]

  1. jsf

TestEJBApplication[edit]

  1. EJBs

ticket2rock[edit]

  • download from http://www.ejb3buch.de/
  • ant
  • copy /build/ticket2rock.ear to <JBOSS_HOME_DEPLOY_DIR>
  • läuft nicht unter 4.2.3

Seam In Action Example[edit]

  • C:\Uwes\eclipse\workspace\seaminaction>ant quickstart
  • C:\Uwes\eclipse\workspace\seaminaction>ant -f stages/projects-part3/open18/build.xml explode
  • runs as open18

Seam Registration Example[edit]

  • cd C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\registration
  • ant
    • copies C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\registration\dist\jboss-seam-registration.ear to <JBOSS_HOME_DEPLOY_DIR>
  • runs

Seam Messages Example[edit]

  • cd C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\messages
  • ant
    • copies C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\messages\dist\jboss-seam-messages.ear to <JBOSS_HOME_DEPLOY_DIR>
  • runs

Seam Booking Example[edit]

  • cd C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\booking
  • ant
    • copies C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\booking\dist\jboss-seam-booking.ear to <JBOSS_HOME_DEPLOY_DIR>
  • runs

Seam Todo List Example[edit]

  • cd C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\todo
  • ant
    • copies C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\todo\dist\jboss-seam-todo.ear to <JBOSS_HOME_DEPLOY_DIR>
  • runs

Seam Numberguess Example[edit]

  • cd C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\numberguess
  • ant
    • copies C:\Uwes\eclipse\workspace\jboss-seam-2.0.2.SP1\examples\numberguess\dist\jboss-seam-numberguess.ear to <JBOSS_HOME_DEPLOY_DIR>
  • runs

State[edit]

  • Version 5 installed but uweheuer doesn't work => deinstalled
  • Version 4.2.2 installed but WebTestApplication doesn't work => deinstalled
  • Version 4.2.3: Seam Examples, WebTestApplication, TestEJBApplication, uweheuer work, ticket2rock does not