SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

#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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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 ...
 

Dernier

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 

Dernier (20)

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 

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