SlideShare uma empresa Scribd logo
1 de 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 –
6.x
JBOSS_HOME/server JBOSS_HOME/common/lib and
JBOSS_HOME/server/<server>/lib
7.x JBOSS_HOME/jboss-
modules.jar
JBOSS_HOME/modules subfolders.
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

Mais conteúdo relacionado

Mais procurados

#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Advanced sql injection
Advanced sql injectionAdvanced sql injection
Advanced sql injectionbadhanbd
 
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
What’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPWhat’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPChristopher Jones
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)Shing Wai Chan
 
Capturing, Analyzing, and Optimizing your SQL
Capturing, Analyzing, and Optimizing your SQLCapturing, Analyzing, and Optimizing your SQL
Capturing, Analyzing, and Optimizing your SQLPadraig O'Sullivan
 
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi MensahPhp Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi MensahPHP Barcelona Conference
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance ImprovementsRonald Bradford
 
FIXING BLOCK CORRUPTION (RMAN) on 11G
FIXING BLOCK CORRUPTION (RMAN) on 11GFIXING BLOCK CORRUPTION (RMAN) on 11G
FIXING BLOCK CORRUPTION (RMAN) on 11GN/A
 
Basic - Oracle Edition Based Redefinition Presentation
Basic - Oracle Edition Based Redefinition PresentationBasic - Oracle Edition Based Redefinition Presentation
Basic - Oracle Edition Based Redefinition PresentationN/A
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9sumsid1234
 
The Ring programming language version 1.5.3 book - Part 28 of 184
The Ring programming language version 1.5.3 book - Part 28 of 184The Ring programming language version 1.5.3 book - Part 28 of 184
The Ring programming language version 1.5.3 book - Part 28 of 184Mahmoud Samir Fayed
 
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedIMC Institute
 
Continuous Integration and Drupal
Continuous Integration and DrupalContinuous Integration and Drupal
Continuous Integration and DrupalSteven Merrill
 

Mais procurados (20)

#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#30.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
Advanced sql injection
Advanced sql injectionAdvanced sql injection
Advanced sql injection
 
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...
#34.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자교육,국...
 
What’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPWhat’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHP
 
Jdbc
JdbcJdbc
Jdbc
 
Lecture17
Lecture17Lecture17
Lecture17
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
 
Capturing, Analyzing, and Optimizing your SQL
Capturing, Analyzing, and Optimizing your SQLCapturing, Analyzing, and Optimizing your SQL
Capturing, Analyzing, and Optimizing your SQL
 
PHP Oracle
PHP OraclePHP Oracle
PHP Oracle
 
Advanced sql injection 2
Advanced sql injection 2Advanced sql injection 2
Advanced sql injection 2
 
Php Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi MensahPhp Applications with Oracle by Kuassi Mensah
Php Applications with Oracle by Kuassi Mensah
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
FIXING BLOCK CORRUPTION (RMAN) on 11G
FIXING BLOCK CORRUPTION (RMAN) on 11GFIXING BLOCK CORRUPTION (RMAN) on 11G
FIXING BLOCK CORRUPTION (RMAN) on 11G
 
Basic - Oracle Edition Based Redefinition Presentation
Basic - Oracle Edition Based Redefinition PresentationBasic - Oracle Edition Based Redefinition Presentation
Basic - Oracle Edition Based Redefinition Presentation
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
 
The Ring programming language version 1.5.3 book - Part 28 of 184
The Ring programming language version 1.5.3 book - Part 28 of 184The Ring programming language version 1.5.3 book - Part 28 of 184
The Ring programming language version 1.5.3 book - Part 28 of 184
 
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
MariaDB training
MariaDB trainingMariaDB training
MariaDB training
 
Java Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet AdvancedJava Web Programming [3/9] : Servlet Advanced
Java Web Programming [3/9] : Servlet Advanced
 
Continuous Integration and Drupal
Continuous Integration and DrupalContinuous Integration and Drupal
Continuous Integration and Drupal
 

Semelhante a Upgrade to JBoss AS7

JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolutionAlexis Hassler
 
soft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesAlexis Hassler
 
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
 
Java EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasJava EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasBruno Borges
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기jbugkorea
 
Hibernate
Hibernate Hibernate
Hibernate Sunil OS
 
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
 
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
 
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
 
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeBoost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeMarco Gralike
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
 

Semelhante a Upgrade to JBoss AS7 (20)

J boss
J bossJ boss
J boss
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolution
 
soft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolution
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuages
 
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
 
Java EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasJava EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e Mudanças
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기
 
Hibernate
Hibernate Hibernate
Hibernate
 
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
 
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
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
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
 
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeBoost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
 
Jsp Comparison
 Jsp Comparison Jsp Comparison
Jsp Comparison
 
Resthub
ResthubResthub
Resthub
 

Último

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Upgrade to JBoss AS7

  • 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 – 6.x JBOSS_HOME/server JBOSS_HOME/common/lib and JBOSS_HOME/server/<server>/lib 7.x JBOSS_HOME/jboss- modules.jar JBOSS_HOME/modules subfolders.
  • 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