SlideShare a Scribd company logo
1 of 33
Upgrading to JBoss
      AS7
      Amit Sharma
     AXS USA LLC
    amit@axsusa.com
      9th Jan 2013
Index
O Cover Jboss AS7
  O Jboss AS 6.x/5.x comparison
O Features
O The Architecture
O New Components
O Lessons learned
O References
JBoss AS7
O 7.0.0.Final – First stable release 12th July
    2011
O   7.1.1.Final – released 9th March 2012
O   First major shift – common codebase
O   Major re-write of the underlying
    architecture
O   Extensible framework – Immutant
    (clojure), torquebox (Jruby)
Client History
O A complete JBoss Shop
  O JBoss EAP 6.x
  O Hibernate 3.3
  O Seam 2.x
  O JBoss Messaging
  O JMX Console
  O RestEasy
  O Jdk 1.6.0_31
Features
JBoss AS7 Website:
O Blazingly fast (<3s startup)
O Lightweight
O Modular core
O Elegant administration
O Domain management
O First class components
AS7 Architecture
O Core:
  O Jboss Modules (class loading of resources)
  O Module Service Container (install/uninstall
    or manage services)
O Standalone.xml at the heart of Jboss
  O Snapshot folder strategy
O JSR-299 compliant server (Java EE6)
  O CDI / Weld supported fully.
O Modules are open source projects
AS7 Architecture (standard)
 O Hibernate Core (4.0.1.Final) – Default JPA
     Provider.
 O   RestEasy (2.3.1.GA)
 O   Apache CXF (4.0.1.GA)
 O   Mojarra (JSF 2.0)
 O   JBoss Logging (Java Util Logging)
 * Jboss/docs/licenses/licenses.xml
Folder Structure
Modules
AS    Bootstrap libs      Server libs
4.x   JBOSS_HOME/server   JBOSS_HOME/server/<server>/lib

5.x – JBOSS_HOME/server   JBOSS_HOME/common/lib and
6.x                       JBOSS_HOME/server/<server>/lib

7.x   JBOSS_HOME/jboss-   JBOSS_HOME/modules subfolders.
      modules.jar
Standalone.xml
O Variants of standalone.xml pre-exist.
O <extensions> - shared by all applications
  O These are stored in ‘modules’
O <profile> - collection of subsystems.
  O One for standalone, multiple for domain.
O <interfaces> - bind addresses.
O <socket-binding-group> - define ports.
O <system-properties>
  O Define in xml
  O standalone.bat -P=mypropertiesfile.properties
Standalone.xml (contd.)
O Adding SMTP support
  O Bring the subsystem
  <subsystem xmlns="urn:jboss:domain:mail:1.0">
   <mail-session jndi-name="java:/Mail" debug="true">
      <smtp-server outbound-socket-binding-ref="mail-smtp"/>
   </mail-session>
  </subsystem>
  O Add the socket bindings
  <outbound-socket-binding name="mail-smtp">
   <remote-destination host=“mail.google.com" port="25"/>
  </outbound-socket-binding>
Standalone.xml (contd.)
O Overiding default scanner path
<subsystem xmlns="urn:jboss:domain:deployment-
scanner:1.1">
   <deployment-scanner path="C:/myapp/deployments"
scan-interval="5000" auto-deploy-zipped="true" auto-
deploy-exploded="true" deployment-timeout="180"/>
 </subsystem>
O Port Offset
standalone.bat -Djboss.socket.binding.port-
offset=10 [All ports are offset by 10]
http://localhost:8090
Standalone.xml (contd.)
O Registering a database driver (another subsystem)
  O No common/lib or *ds.xml files
<datasources>
            <datasource jndi-name="java:jboss/datasources/testDS" pool-
name="testDS" use-java-context="false">
           <connection-url>jdbc:oracle:thin:@myserverip/myschema</connection-url>
           <driver>oracle</driver>
           <security>
              <user-name>amit</user-name>
              <password>sharma</password>
           </security>
        </datasource>
        <drivers>
           <driver name="oracle" module="com.oracle.ojdbc6">
              <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
           </driver>
        </drivers>
      </datasources>

JBOSS_HOMEmodulescomoracleojdbc6mainmodule.xml and jar
JBoss CLI
O Example:
<system-properties>
<property name="hibernate.default_schema“ value="AMIT"/>
</system-properties>
O Read System properties
[standalone@localhost:9999 /] /system-
property=hibernate.default_schema:read-resource
{
   "outcome" => "success",
   "result" => {"value" => "AMIT"}
}
JBoss CLI (contd.)
O Command Line Interface. GUI available as well.
   O /subsystem=datasources/data-source=ExampleDS/
      c:jboss-as-7.1.1.Finalbin>jboss-cli.bat –gui
O Command line
[standalone@localhost:9999 /]
/subsystem=datasources/data-source=ExampleDS:read-
attribute(name=connection-url)
{
   "outcome" => "success",
   "result" => "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1"
}
Deployment
O Mechanisms:
  O Deployments Directory
    (/standalone/deployments)
  O CLI (undeploy and then .dodeploy)
  O Marker files
    O   .deployed or .undeployed markers
    O   .failed
    O    .isdeploying
    O    .isundeploying
  O Management Console
  O Eclipse Plugin
What’s new
O HornetQ – default JMS Provider (2.2.11)
O Jgroups API Implementation for communication
  between nodes - UDP and multicast. (3.1.0.GA)
O IronJacamar - Java Connector Architecture 1.6
  Implementation. (1.0.7.Final)
O Infinispan – JSR-107 compatible cache
   O Handles cluster consistency
O Jolokia - JMX-HTTP bridge (JMX with JSON over
  http)
O Arquillian support.
O Mod_cluster support. (mod_jk and mod_proxy still
  works)
HornetQ
O HornetQ is an open source project to build a
  multi-protocol, embeddable, very high
  performance, clustered, asynchronous
  messaging system.
O High performance journal mechanism for
  message persistence (No database
  persistence)
O Provides fully functional JMS capabilities.
   O Supports JMS 1.1 API. (No code changes)
   O Provides its own Messaging API.
   O STOMP and REST support
HornetQ (contd.)
O MDB example
  O No Java Impact to MDBs
    @MessageDriven(name = "MDBExample",
              activationConfig =
                  {
                     @ActivationConfigProperty(propertyName =
    "destinationType", propertyValue = "javax.jms.Queue"),
                     @ActivationConfigProperty(propertyName =
    "destination", propertyValue = "queue/testQueue")
                  })
    public class MDBExample implements MessageListener
    {
      public void onMessage(Message message)...
    }
HornetQ (contd.)
O Wildcards on Addresses rather than specific queue.
   O   filter for the destination - jms.queue.#
O Standalone-full-ha.xml
      <jms-destinations>
          <jms-queue name="testQueue">
             <entry name="queue/test"/>
           <entry name="java:jboss/exported/jms/queue/test"/>
          </jms-queue>
          <jms-topic name="testTopic">
             <entry name="topic/test"/>
             <entry name="java:jboss/exported/jms/topic/test"/>
          </jms-topic>
       </jms-destinations>
HornetQ (contd.)
O Integration with any JEE App Server must
 happen via JCA (Java Connector
 Architecture) Adaptor
  O A JCA Adapter basically controls the inflow
    of messages to Message-Driven Beans
    (MDBs) and the outflow of messages sent
    from other JEE components, e.g. EJBs and
    Servlets.
  O Anti-pattern defined. (See Image)
HornetQ (contd.)
O Anti-Pattern
JBoss CLI - HornetQ
O See a Queue
   O /subsystem=messaging/hornetq-
     server=default/:read-children-
     resources(child-type=jms-queue)
O Read a broadcast-group
   O /subsystem=messaging/hornetq-
     server=default/:read-children-names(child-
     type=broadcast-group)
O Test a connection
data-source test-connection-in-pool --name=testDS
Jolokia
O WAR-Agent (access to your JMX beans)
O Query:
http://localhost:8080/jolokia-war-
1.0.6/read/jboss.as:subsystem=datasources,data-
source=ExampleDS/connectionUrl?ignoreErrors=true
O Result:
{"timestamp":1357502024,"status":200,"request":{"m
bean":"jboss.as:data-
source=ExampleDS,subsystem=datasources","attrib
ute":"connectionUrl","type":"read"},"value":"jdbc:h2:m
em:test;DB_CLOSE_DELAY=-1"}
Arquillian
O No more mocks and No more container lifecycle
   and deployment
@RunWith(Arquillian.class)
public class GreeterTest {
  @Deployment
  public static JavaArchive createDeployment() {
     return ShrinkWrap.create(JavaArchive.class)
        .addClass(Greeter.class)
        .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
  }
@Inject
Greeter greeter;
@Test
public void should_create_greeting() {
     assertEquals("Hello, Earthling!", greeter.greet("Earthling"));
  }
}
Arquillian (contd.)
O src/test/resources/arquillian.xml
<arquillian xmlns="http://jboss.org/schema/arquillian"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
     http://jboss.org/schema/arquillian
     http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
  <container qualifier="jbossas-managed" default="true">
     <configuration>
        <property name="jbossHome">target/jboss-as-
7.1.1.Final</property>
     </configuration>
  </container>
</arquillian>
What’s missing?
O JMX Console
O JBoss Messaging 1.0
O JBoss Logging (old implementation)
O VFS – Virtual File System
O Farm deployment (vs Domain settings)
O Same folder structure
O Extensive configuration 
O Clear Documentation 
Lessons Learned
O Seam 2.x (hibernate dependency)
O Hibernate Validators (JPA-2 compliance)
O Apache CXF collision
O Seam Tests failure (Arquillian upgrade)
O JMX console obsolete (jolokia war)
O JSF 1.2 support
O HornetQ learning curve and dns issues.
O MDB and Seam race condition issues.
  [@DependsOn does not work]
O Jboss Logging
Lessons Learned (contd.)
O Hibernate 3.x (JPA 2) support
    O META-INF/persistence.xml
         <property name="jboss.as.jpa.providerModule"
value="hibernate3-bundled" />
O Enable AJP Connector binding
   O <connector name="AJP"
     protocol="AJP/1.3" socket-binding="ajp" />
   O <socket-binding name="ajp" port="8009"/>
O HornetQ clustering (disabled by default)
   O <clustered>true</clustered>
Lessons Learned (contd.)
O    Declare dependencies
META-INF/MANIFEST.MF
           Dependencies: org.apache.log4j
OR

WEB-INF/jboss-deployment-structure.xml
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
   <deployment>
     <exclusions>
       <module name="javax.faces.api" slot="main"/>
       <module name="com.sun.jsf-impl" slot="main"/>
     </exclusions>
     <dependencies>
       <module name="javax.faces.api" slot="1.2" export="true"/>
       <module name="com.sun.jsf-impl" slot="1.2" export="true"/>
     </dependencies>
   </deployment>
</jboss-deployment-structure>
Lessons Learned (contd.)
O Jboss-web.xml (still defines the context)
   <jboss-web>
      <context-root>myapp</context-root>
   </jboss-web>
O HornetQ - DNS entries must exist for IP addresses
  defined for messaging (multicast or otherwise)
O HornetQ – multicast configuration is enabled by default.
O HornetQ - Round Robin Load Balancing configuration.
<connection-load-balancing-policy-class-name>
org.hornetq.api.core.client.loadbalance.RoundRobinConnectionLo
adBalancingPolicy</connection-load-balancing-policy-class-name>
Lessons Learned (contd.)
O JBoss - You can load your own xml by :
  standalone.bat --server-config standalone-
  full-ha.xml
O JBOSS_HOME/docs/schema has
  dtds/xsds defined for validations
O Arquillian – TestSuite still in works.
References
O JBoss AS 7 Configuration, Deployment and Administration.
  Marchioni, Francesco
O Credits: Isaac Christoffersen (Vizuri), Aslak Knutsen (Red
  Hat) and Catherine Robson (Red Hat)
O Links:
   http://www.jboss.org/as7
   https://docs.jboss.org/author/display/AS71/Documentation
   http://Jolokia.org
   http://www.jboss.org/ironjacamar
   http://java.net/projects/mojarra/
   http://jboss.org/hornetq
   http://www.jgroups.org/
   http://arqullian.org
   http://www.jboss.org/resteasy
   http://www.jboss.org/infinispan

More Related Content

What's hot

#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Javatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparisonJavatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparisonJini Lee
 
Building node.js applications with Database Jones
Building node.js applications with Database JonesBuilding node.js applications with Database Jones
Building node.js applications with Database JonesJohn David Duncan
 
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/ServletSunil OS
 
Using Perl Stored Procedures for MariaDB
Using Perl Stored Procedures for MariaDBUsing Perl Stored Procedures for MariaDB
Using Perl Stored Procedures for MariaDBAntony T Curtis
 
Hibernate
HibernateHibernate
Hibernateksain
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesJBug Italy
 
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)DK Lee
 
Teste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityTeste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityWashington Botelho
 
Writing Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason LeeWriting Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason Leejaxconf
 
External Language Stored Procedures for MySQL
External Language Stored Procedures for MySQLExternal Language Stored Procedures for MySQL
External Language Stored Procedures for MySQLAntony T Curtis
 
Java Microservices with DropWizard
Java Microservices with DropWizardJava Microservices with DropWizard
Java Microservices with DropWizardBruno Buger
 
OSGi and Eclipse RCP
OSGi and Eclipse RCPOSGi and Eclipse RCP
OSGi and Eclipse RCPEric Jain
 

What's hot (18)

#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
Javatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparisonJavatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparison
 
Oracle Cloud As Services
Oracle Cloud As ServicesOracle Cloud As Services
Oracle Cloud As Services
 
Spring 4 - A&BP CC
Spring 4 - A&BP CCSpring 4 - A&BP CC
Spring 4 - A&BP CC
 
Building node.js applications with Database Jones
Building node.js applications with Database JonesBuilding node.js applications with Database Jones
Building node.js applications with Database Jones
 
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Using Perl Stored Procedures for MariaDB
Using Perl Stored Procedures for MariaDBUsing Perl Stored Procedures for MariaDB
Using Perl Stored Procedures for MariaDB
 
Hibernate
HibernateHibernate
Hibernate
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
 
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
 
Teste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrityTeste de Integração com DbUnit e jIntegrity
Teste de Integração com DbUnit e jIntegrity
 
Writing Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason LeeWriting Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason Lee
 
My sql tutorial-oscon-2012
My sql tutorial-oscon-2012My sql tutorial-oscon-2012
My sql tutorial-oscon-2012
 
External Language Stored Procedures for MySQL
External Language Stored Procedures for MySQLExternal Language Stored Procedures for MySQL
External Language Stored Procedures for MySQL
 
Java Microservices with DropWizard
Java Microservices with DropWizardJava Microservices with DropWizard
Java Microservices with DropWizard
 
OSGi and Eclipse RCP
OSGi and Eclipse RCPOSGi and Eclipse RCP
OSGi and Eclipse RCP
 
Top5 scalabilityissues
Top5 scalabilityissuesTop5 scalabilityissues
Top5 scalabilityissues
 

Viewers also liked

Historia del comercio electrónico
Historia del comercio electrónicoHistoria del comercio electrónico
Historia del comercio electrónicoavigabaena
 
Attirer les clients wallons
Attirer les clients wallonsAttirer les clients wallons
Attirer les clients wallonswepika
 
Winterprospekt - Hotel Neuhaus
Winterprospekt - Hotel NeuhausWinterprospekt - Hotel Neuhaus
Winterprospekt - Hotel NeuhausNeuhaus
 
Microtarea naturales
Microtarea naturalesMicrotarea naturales
Microtarea naturalesanthoni_2001
 
Ordesa "dos de dos"
Ordesa "dos de dos"Ordesa "dos de dos"
Ordesa "dos de dos"atxarte
 
Creating a Culture of Energy Efficiency
Creating a Culture of Energy EfficiencyCreating a Culture of Energy Efficiency
Creating a Culture of Energy EfficiencyCLASS 5 Energy
 
Deutsche Bank Research on eInvoicing
Deutsche Bank Research on eInvoicingDeutsche Bank Research on eInvoicing
Deutsche Bank Research on eInvoicingFriso de Jong
 
Memoria Asociación Home Family Power 2014
Memoria Asociación Home Family Power 2014Memoria Asociación Home Family Power 2014
Memoria Asociación Home Family Power 2014Dialhogar
 
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...Plataforma La Tortura No Es Cultura
 
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...Voluntariado Pamplona 2013
 
POI 2014 ANCASH
POI 2014 ANCASHPOI 2014 ANCASH
POI 2014 ANCASHKOVR
 
Blyundersøkelse, Fossum skiskytterarena 2015 12 06
Blyundersøkelse, Fossum skiskytterarena 2015 12 06Blyundersøkelse, Fossum skiskytterarena 2015 12 06
Blyundersøkelse, Fossum skiskytterarena 2015 12 06knut søraas
 
Network Planning and Optimization
Network Planning and OptimizationNetwork Planning and Optimization
Network Planning and OptimizationEM Legacy
 
Vidrio Eficiente Energetica
Vidrio Eficiente EnergeticaVidrio Eficiente Energetica
Vidrio Eficiente Energeticaderonpatterson
 

Viewers also liked (20)

Historia del comercio electrónico
Historia del comercio electrónicoHistoria del comercio electrónico
Historia del comercio electrónico
 
Wbt Express
Wbt ExpressWbt Express
Wbt Express
 
CV Juan Carlos Castro
CV Juan Carlos CastroCV Juan Carlos Castro
CV Juan Carlos Castro
 
Attirer les clients wallons
Attirer les clients wallonsAttirer les clients wallons
Attirer les clients wallons
 
Book Review
Book ReviewBook Review
Book Review
 
Winterprospekt - Hotel Neuhaus
Winterprospekt - Hotel NeuhausWinterprospekt - Hotel Neuhaus
Winterprospekt - Hotel Neuhaus
 
Microtarea naturales
Microtarea naturalesMicrotarea naturales
Microtarea naturales
 
Ordesa "dos de dos"
Ordesa "dos de dos"Ordesa "dos de dos"
Ordesa "dos de dos"
 
Creating a Culture of Energy Efficiency
Creating a Culture of Energy EfficiencyCreating a Culture of Energy Efficiency
Creating a Culture of Energy Efficiency
 
Deutsche Bank Research on eInvoicing
Deutsche Bank Research on eInvoicingDeutsche Bank Research on eInvoicing
Deutsche Bank Research on eInvoicing
 
Memoria Asociación Home Family Power 2014
Memoria Asociación Home Family Power 2014Memoria Asociación Home Family Power 2014
Memoria Asociación Home Family Power 2014
 
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...
EL CONSEJO INDEPENDIENTE DE PROTECCIÓN DE LA INFANCIA (CIPI) EXPRESA SU PREOC...
 
Special Bulletin
Special BulletinSpecial Bulletin
Special Bulletin
 
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...
Informe monográfico "Experiencias de RSC" - La experiencia de FASVOL. Lluis R...
 
POI 2014 ANCASH
POI 2014 ANCASHPOI 2014 ANCASH
POI 2014 ANCASH
 
Blyundersøkelse, Fossum skiskytterarena 2015 12 06
Blyundersøkelse, Fossum skiskytterarena 2015 12 06Blyundersøkelse, Fossum skiskytterarena 2015 12 06
Blyundersøkelse, Fossum skiskytterarena 2015 12 06
 
Brik Col Pisos
Brik Col PisosBrik Col Pisos
Brik Col Pisos
 
Network Planning and Optimization
Network Planning and OptimizationNetwork Planning and Optimization
Network Planning and Optimization
 
Vidrio Eficiente Energetica
Vidrio Eficiente EnergeticaVidrio Eficiente Energetica
Vidrio Eficiente Energetica
 
Presentacion de orange institucional
Presentacion de orange institucionalPresentacion de orange institucional
Presentacion de orange institucional
 

Similar to JBoss AS Upgrade

Upgrade to JBoss AS7
Upgrade to JBoss AS7Upgrade to JBoss AS7
Upgrade to JBoss AS7axsusa
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web servicesalepalin
 
Red Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsRed Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsJudy Breedlove
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJava User Group Roma
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012alepalin
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7Samuel Tauil
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzJBug Italy
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Red Hat Developers
 
Introduction to Vert.x
Introduction to Vert.xIntroduction to Vert.x
Introduction to Vert.xYiguang Hu
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
 

Similar to JBoss AS Upgrade (20)

Upgrade to JBoss AS7
Upgrade to JBoss AS7Upgrade to JBoss AS7
Upgrade to JBoss AS7
 
J boss
J bossJ boss
J boss
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web services
 
Red Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop LabsRed Hat Agile integration Workshop Labs
Red Hat Agile integration Workshop Labs
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio Soldano
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
 
Play framework
Play frameworkPlay framework
Play framework
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
Introduction to Vert.x
Introduction to Vert.xIntroduction to Vert.x
Introduction to Vert.x
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 

Recently uploaded

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 

Recently uploaded (20)

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 

JBoss AS Upgrade

  • 1. Upgrading to JBoss AS7 Amit Sharma AXS USA LLC amit@axsusa.com 9th Jan 2013
  • 2. Index O Cover Jboss AS7 O Jboss AS 6.x/5.x comparison O Features O The Architecture O New Components O Lessons learned O References
  • 3. JBoss AS7 O 7.0.0.Final – First stable release 12th July 2011 O 7.1.1.Final – released 9th March 2012 O First major shift – common codebase O Major re-write of the underlying architecture O Extensible framework – Immutant (clojure), torquebox (Jruby)
  • 4. Client History O A complete JBoss Shop O JBoss EAP 6.x O Hibernate 3.3 O Seam 2.x O JBoss Messaging O JMX Console O RestEasy O Jdk 1.6.0_31
  • 5. Features JBoss AS7 Website: O Blazingly fast (<3s startup) O Lightweight O Modular core O Elegant administration O Domain management O First class components
  • 6. AS7 Architecture O Core: O Jboss Modules (class loading of resources) O Module Service Container (install/uninstall or manage services) O Standalone.xml at the heart of Jboss O Snapshot folder strategy O JSR-299 compliant server (Java EE6) O CDI / Weld supported fully. O Modules are open source projects
  • 7. AS7 Architecture (standard) O Hibernate Core (4.0.1.Final) – Default JPA Provider. O RestEasy (2.3.1.GA) O Apache CXF (4.0.1.GA) O Mojarra (JSF 2.0) O JBoss Logging (Java Util Logging) * Jboss/docs/licenses/licenses.xml
  • 9. Modules AS Bootstrap libs Server libs 4.x JBOSS_HOME/server JBOSS_HOME/server/<server>/lib 5.x – JBOSS_HOME/server JBOSS_HOME/common/lib and 6.x JBOSS_HOME/server/<server>/lib 7.x JBOSS_HOME/jboss- JBOSS_HOME/modules subfolders. modules.jar
  • 10. Standalone.xml O Variants of standalone.xml pre-exist. O <extensions> - shared by all applications O These are stored in ‘modules’ O <profile> - collection of subsystems. O One for standalone, multiple for domain. O <interfaces> - bind addresses. O <socket-binding-group> - define ports. O <system-properties> O Define in xml O standalone.bat -P=mypropertiesfile.properties
  • 11. Standalone.xml (contd.) O Adding SMTP support O Bring the subsystem <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:/Mail" debug="true"> <smtp-server outbound-socket-binding-ref="mail-smtp"/> </mail-session> </subsystem> O Add the socket bindings <outbound-socket-binding name="mail-smtp"> <remote-destination host=“mail.google.com" port="25"/> </outbound-socket-binding>
  • 12. Standalone.xml (contd.) O Overiding default scanner path <subsystem xmlns="urn:jboss:domain:deployment- scanner:1.1"> <deployment-scanner path="C:/myapp/deployments" scan-interval="5000" auto-deploy-zipped="true" auto- deploy-exploded="true" deployment-timeout="180"/> </subsystem> O Port Offset standalone.bat -Djboss.socket.binding.port- offset=10 [All ports are offset by 10] http://localhost:8090
  • 13. Standalone.xml (contd.) O Registering a database driver (another subsystem) O No common/lib or *ds.xml files <datasources> <datasource jndi-name="java:jboss/datasources/testDS" pool- name="testDS" use-java-context="false"> <connection-url>jdbc:oracle:thin:@myserverip/myschema</connection-url> <driver>oracle</driver> <security> <user-name>amit</user-name> <password>sharma</password> </security> </datasource> <drivers> <driver name="oracle" module="com.oracle.ojdbc6"> <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class> </driver> </drivers> </datasources> JBOSS_HOMEmodulescomoracleojdbc6mainmodule.xml and jar
  • 14. JBoss CLI O Example: <system-properties> <property name="hibernate.default_schema“ value="AMIT"/> </system-properties> O Read System properties [standalone@localhost:9999 /] /system- property=hibernate.default_schema:read-resource { "outcome" => "success", "result" => {"value" => "AMIT"} }
  • 15. JBoss CLI (contd.) O Command Line Interface. GUI available as well. O /subsystem=datasources/data-source=ExampleDS/ c:jboss-as-7.1.1.Finalbin>jboss-cli.bat –gui O Command line [standalone@localhost:9999 /] /subsystem=datasources/data-source=ExampleDS:read- attribute(name=connection-url) { "outcome" => "success", "result" => "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" }
  • 16. Deployment O Mechanisms: O Deployments Directory (/standalone/deployments) O CLI (undeploy and then .dodeploy) O Marker files O .deployed or .undeployed markers O .failed O .isdeploying O .isundeploying O Management Console O Eclipse Plugin
  • 17. What’s new O HornetQ – default JMS Provider (2.2.11) O Jgroups API Implementation for communication between nodes - UDP and multicast. (3.1.0.GA) O IronJacamar - Java Connector Architecture 1.6 Implementation. (1.0.7.Final) O Infinispan – JSR-107 compatible cache O Handles cluster consistency O Jolokia - JMX-HTTP bridge (JMX with JSON over http) O Arquillian support. O Mod_cluster support. (mod_jk and mod_proxy still works)
  • 18. HornetQ O HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. O High performance journal mechanism for message persistence (No database persistence) O Provides fully functional JMS capabilities. O Supports JMS 1.1 API. (No code changes) O Provides its own Messaging API. O STOMP and REST support
  • 19. HornetQ (contd.) O MDB example O No Java Impact to MDBs @MessageDriven(name = "MDBExample", activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/testQueue") }) public class MDBExample implements MessageListener { public void onMessage(Message message)... }
  • 20. HornetQ (contd.) O Wildcards on Addresses rather than specific queue. O filter for the destination - jms.queue.# O Standalone-full-ha.xml <jms-destinations> <jms-queue name="testQueue"> <entry name="queue/test"/> <entry name="java:jboss/exported/jms/queue/test"/> </jms-queue> <jms-topic name="testTopic"> <entry name="topic/test"/> <entry name="java:jboss/exported/jms/topic/test"/> </jms-topic> </jms-destinations>
  • 21. HornetQ (contd.) O Integration with any JEE App Server must happen via JCA (Java Connector Architecture) Adaptor O A JCA Adapter basically controls the inflow of messages to Message-Driven Beans (MDBs) and the outflow of messages sent from other JEE components, e.g. EJBs and Servlets. O Anti-pattern defined. (See Image)
  • 23. JBoss CLI - HornetQ O See a Queue O /subsystem=messaging/hornetq- server=default/:read-children- resources(child-type=jms-queue) O Read a broadcast-group O /subsystem=messaging/hornetq- server=default/:read-children-names(child- type=broadcast-group) O Test a connection data-source test-connection-in-pool --name=testDS
  • 24. Jolokia O WAR-Agent (access to your JMX beans) O Query: http://localhost:8080/jolokia-war- 1.0.6/read/jboss.as:subsystem=datasources,data- source=ExampleDS/connectionUrl?ignoreErrors=true O Result: {"timestamp":1357502024,"status":200,"request":{"m bean":"jboss.as:data- source=ExampleDS,subsystem=datasources","attrib ute":"connectionUrl","type":"read"},"value":"jdbc:h2:m em:test;DB_CLOSE_DELAY=-1"}
  • 25. Arquillian O No more mocks and No more container lifecycle and deployment @RunWith(Arquillian.class) public class GreeterTest { @Deployment public static JavaArchive createDeployment() { return ShrinkWrap.create(JavaArchive.class) .addClass(Greeter.class) .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); } @Inject Greeter greeter; @Test public void should_create_greeting() { assertEquals("Hello, Earthling!", greeter.greet("Earthling")); } }
  • 26. Arquillian (contd.) O src/test/resources/arquillian.xml <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <container qualifier="jbossas-managed" default="true"> <configuration> <property name="jbossHome">target/jboss-as- 7.1.1.Final</property> </configuration> </container> </arquillian>
  • 27. What’s missing? O JMX Console O JBoss Messaging 1.0 O JBoss Logging (old implementation) O VFS – Virtual File System O Farm deployment (vs Domain settings) O Same folder structure O Extensive configuration  O Clear Documentation 
  • 28. Lessons Learned O Seam 2.x (hibernate dependency) O Hibernate Validators (JPA-2 compliance) O Apache CXF collision O Seam Tests failure (Arquillian upgrade) O JMX console obsolete (jolokia war) O JSF 1.2 support O HornetQ learning curve and dns issues. O MDB and Seam race condition issues. [@DependsOn does not work] O Jboss Logging
  • 29. Lessons Learned (contd.) O Hibernate 3.x (JPA 2) support O META-INF/persistence.xml <property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" /> O Enable AJP Connector binding O <connector name="AJP" protocol="AJP/1.3" socket-binding="ajp" /> O <socket-binding name="ajp" port="8009"/> O HornetQ clustering (disabled by default) O <clustered>true</clustered>
  • 30. Lessons Learned (contd.) O Declare dependencies META-INF/MANIFEST.MF Dependencies: org.apache.log4j OR WEB-INF/jboss-deployment-structure.xml <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> <deployment> <exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> </exclusions> <dependencies> <module name="javax.faces.api" slot="1.2" export="true"/> <module name="com.sun.jsf-impl" slot="1.2" export="true"/> </dependencies> </deployment> </jboss-deployment-structure>
  • 31. Lessons Learned (contd.) O Jboss-web.xml (still defines the context) <jboss-web> <context-root>myapp</context-root> </jboss-web> O HornetQ - DNS entries must exist for IP addresses defined for messaging (multicast or otherwise) O HornetQ – multicast configuration is enabled by default. O HornetQ - Round Robin Load Balancing configuration. <connection-load-balancing-policy-class-name> org.hornetq.api.core.client.loadbalance.RoundRobinConnectionLo adBalancingPolicy</connection-load-balancing-policy-class-name>
  • 32. Lessons Learned (contd.) O JBoss - You can load your own xml by : standalone.bat --server-config standalone- full-ha.xml O JBOSS_HOME/docs/schema has dtds/xsds defined for validations O Arquillian – TestSuite still in works.
  • 33. References O JBoss AS 7 Configuration, Deployment and Administration. Marchioni, Francesco O Credits: Isaac Christoffersen (Vizuri), Aslak Knutsen (Red Hat) and Catherine Robson (Red Hat) O Links: http://www.jboss.org/as7 https://docs.jboss.org/author/display/AS71/Documentation http://Jolokia.org http://www.jboss.org/ironjacamar http://java.net/projects/mojarra/ http://jboss.org/hornetq http://www.jgroups.org/ http://arqullian.org http://www.jboss.org/resteasy http://www.jboss.org/infinispan