JBoss: Difference between revisions
| Line 45: | Line 45: | ||
</interface> | </interface> | ||
====Set Timeout for JBoss client==== | |||
e.g. for deployments set in jboss-cli.xml | |||
<connection-timeout>10000</connection-timeout> | |||
====Enabling access.log==== | ====Enabling access.log==== | ||
Revision as of 11:24, 15 July 2014
Introduction
JBoss 7
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
see https://docs.jboss.org/author/display/AS7/Getting+Started+Guide
Extensions
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
The following components are part of the JBoss application server:
- Hibernate?
- Tomcat
Installation
Home PC New
see here
VServer
see here
Configuration
JBoss 7
- use <JBOSS_HOME>\bin\jboss-admin.bat or Web Console
- stored in <JBOSS_HOME>\standalone\configuration\standalone.xml
- for Axis2 see here
Database Configuration
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.
- copy mysql-connector-java-5.1.18-bin.jar to <JBOSS_HOME>\standalone\deployments or using deployment via Web console and enable it (e.g. on HomePC New)
- use Web console -> Profile (not Runtime) and add datasource MySQLDS with JNDI name java:jboss/datasources/MySQLDS and UwesWikiDS with JNDI name java:jboss/datasources/UwesWikiDS, select the MySQL Driver above, enter connection info (JBoss > 7.0.0 do not allow empty passwords, so change standalone configuaration file and restart server) => configuration is saved in standalone configuration file <JBOSS_HOME>\standalone\configuration\standalone.xml
Enabling Remote Access
<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
e.g. for deployments set in jboss-cli.xml
<connection-timeout>10000</connection-timeout>
Enabling access.log
<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
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). It is defined in standalone configuration file.
<subsystem xmlns="urn:jboss:domain:logging:1.1"> ... </subsystem>
Output goes to:
- C:\Uwes\Programme\Java\JBoss\jboss-eap-6.1.0\jboss-eap-6.1\standalone\log
- Z:\usr\share\jboss7\standalone\log\
server.log and boot.log. Some entries can be modified by the Admin console -> Profile -> Core -> Logging.
It is also possible to put all logging configuration information into the application.
The other standalone configuration file is under $JBOSS_HOME/standalone/configuration/logging.properties.
According to here added logger category uweheuer and adjusted formatter pattern.
Apache configuration
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
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
- 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
CLI
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
Examples:
[standalone@localhost:9999 /] /subsystem=logging/root-logger=ROOT:change-root-log-level(level=DEBUG)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=*:read-resource
Start the server
JBoss < 7
- HomePCNew
- on Windows systems: <JBOSS_HOME>/bin/run.bat
- on Linux systems: <JBOSS_HOME>/bin/run.sh > /dev/null &
JBoss 7
Windows
- by cmd line: <JBOSS_HOME>\bin\MyStandalone.bat (s. also Dienste)
- by eclipse Window -> Show View -> Other -> Other -> Server -> Servers
Ubuntu
- on HomePC: /etc/init.d/jboss7 start
Start the server for debugging
- <JBOSS_HOME>/bin/run_debug.bat
Stop the server
JBoss < 7
- 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
Windows
- if started in cmd shell just press CTRl+C
Ubuuntu
- on HomePC: /etc/init.d/jboss7 stop
HomePC New
Deployment of Applications
JBoss < 7
- copy the ear file to <JBOSS_HOME>/server/<CONFIGURATION>/ directory
- it will be expanded to <JBOSS_HOME>/server/<CONFIGURATION>/tmp/deploy/...
JBoss 7
- 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
- start JBoss JMX Console
- follow link database=localDB,service=Hypersonic
- search startDatabaseManager() and press Invoke
- new client start after some seconds
JBoss applications
EJB Trail Tutorial
- download EJB3Trail.ear from http://www.jboss.com/docs/trailblazer and copied to deploy directory
TestWebApplication
- jsf
TestEJBApplication
- EJBs
ticket2rock
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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