JBoss Administration and Development

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The official guide to JBoss - the most popular open source Java Application Server available - written by the creators and developers of JBoss. * The Official JBoss Development and Administration Guide is the first and only authorized publication on the JBoss server. * Author Marc Fleury, was a pioneering Java engineer at Sun Microsystems and now enjoys worldwide recognition as the creator and lead developer of JBoss. * The Official JBoss Development and Administration Guide will be aggressively publicized through the JBoss.org Web site as the only official "hard" distribution and documentation for JBoss. The Official JBoss Development and Administration Guide offers a single source for information about deploying, administering, and extending JBoss. The book provides up-close and in-depth information both about the intricacies of JBoss and the best practices of J2EE development. The reader will be able, though this book, to install JBoss and develop J2EE applications as well as extending and enhancing JBoss itself - a primary benefit of the open-source nature of the JBoss product.About the Author: Marc Fleury founded the JBoss project upon leaving Sun Microsystems. He was one of the main developers behind JBoss 1.0 and 2.0. He is the "keeper" of the project. He founded JBoss Group, a company regrouping the elite developers of JBoss to consult around JBoss. Now a leading world expert on J2EE, Marc is a graduate of the French Ecole Polytechnique with a degree in Mathematics and a Ph.D in Physics for work done at MIT as visiting scientist. Marc regularly offers training on J2EE and JBoss. The JBoss Group is a consortium of open source developers who maintain and enhance the JBoss Application Server.

Author(s): Stark S.
Edition: 3
Year: 2003

Language: English
Pages: 672

Contents......Page 3
List of Listings......Page 15
List of Figures......Page 21
Forward......Page 25
About the Authors......Page 26
About Open Source......Page 27
JBoss: A Full J2EE Implementation with JMX......Page 28
What this Book Covers......Page 29
CHAPTER 1 Installing and Building the JBoss Server......Page 31
Installing the Binary Package......Page 32
Directory Structure......Page 33
conf/jboss-service.xml......Page 35
conf/standardjbosscmp-jdbc.xml......Page 36
deploy/jmx-invoker-adaptor-server.sar......Page 37
deploy/jboss-local-jdbc.rar......Page 38
deploy/mail-service.xml......Page 39
deploy/user-service.xml......Page 40
Basic Installation Testing......Page 41
Booting from a Network Server......Page 43
Understanding CVS......Page 47
Obtaining a CVS Client......Page 48
Building the JBoss-3.2.1 Distribution Using the CVS Source Code......Page 49
Building the JBoss-3.2.1/Tomcat-4.1.24 Integrated Bundle......Page 50
An Overview of the JBoss CVS Source Tree......Page 51
Using the JBossTest unit testsuite......Page 52
CHAPTER 2 The JBoss JMX Microkernel......Page 57
An Introduction to JMX......Page 58
Agent Level......Page 60
JMX Component Overview......Page 61
Notification Model......Page 62
MBean Server......Page 63
Agent Services......Page 64
Class Loading and Types in Java......Page 65
ClassCastExceptions - I’m Not Your Type......Page 66
IllegalAccessException - Doing what you should not......Page 71
LinkageErrors - Making Sure You Are Who You Say You Are......Page 74
Debugging Class Loading Issues......Page 80
Inside the JBoss Class Loading Architecture......Page 82
Viewing Classes in the Loader Repository......Page 83
The Complete Class Loading Model......Page 86
JBoss XMBeans......Page 89
Descriptors......Page 90
The Constructors......Page 93
The Attributes......Page 94
The Operations......Page 96
Notifications......Page 97
Inspecting the Server - the JMX Console Web Application......Page 99
Securing the JMX Console......Page 102
Connecting to JMX Using RMI......Page 104
Command Line Access to JMX......Page 111
Sample twiddle Command Usage......Page 112
Connecting to JMX Using Any Protocol......Page 116
The Startup Process......Page 117
The SARDeployer MBean......Page 119
The Service Life Cycle Interface......Page 123
The ServiceController MBean......Page 124
The create(ObjectName) method......Page 125
Specifying Service Dependencies......Page 126
Hot Deployment of Components, the URLDeploymentScanner......Page 128
Writing JBoss MBean Services......Page 130
A Standard MBean Example......Page 131
XMBean Examples......Page 135
Version 1, the Annotated JNDIMap XMBean......Page 136
Deployment Ordering and Dependencies......Page 159
The JBoss Deployer Architecture......Page 181
Deployers and ClassLoaders......Page 184
Remote Access to Services, Detached Invokers......Page 186
A Detached Invoker Example, the MBeanServer Invoker Service......Page 191
The JRMPInvoker - RMI/JRMP Transport......Page 198
The HttpInvoker - RMI/HTTP Transport......Page 199
The HA HttpInvoker - Clustered RMI/HTTP Transport......Page 200
Steps to Expose Any RMI Interface via HTTP......Page 201
CHAPTER 3 Naming on JBoss - The JNDI Naming Service......Page 205
Names......Page 206
Contexts......Page 207
Obtaining a Context using InitialContext......Page 208
J2EE and JNDI - The Application Component Environment......Page 209
ENC Usage Conventions......Page 210
The ejb-jar.xml ENC Elements......Page 211
The web.xml ENC Elements......Page 212
The jboss.xml ENC Elements......Page 213
The jboss-web.xml ENC Elements......Page 214
Environment Entries......Page 215
EJB References......Page 217
EJB References with jboss.xml and jboss-web.xml......Page 219
EJB Local References......Page 220
Resource Manager Connection Factory References......Page 222
Resource Manager Connection Factory References with jboss.xml and jboss-web.xml......Page 224
Resource Environment References......Page 225
The JBossNS Architecture......Page 227
The Naming InitialContext Factories......Page 230
The HTTP InitialContext Factory Implementation......Page 232
The Login InitialContext Factory Implementation......Page 233
Accessing JNDI over HTTP......Page 234
Accessing JNDI over HTTPS......Page 238
Securing Access to JNDI over HTTP......Page 241
Securing Access to JNDI with a Read-Only Unsecured Context......Page 243
org.jboss.naming.ExternalContext MBean......Page 245
The org.jboss.naming.JNDIView MBean......Page 248
Transaction/JTA Overview......Page 253
Pessimistic and optimistic locking......Page 254
The components of a distributed transaction......Page 255
Heuristic exceptions......Page 256
Transaction IDs and branches......Page 257
Adapting a Transaction Manager to JBoss......Page 258
org.jboss.tm.XidFactory......Page 259
UserTransaction Support......Page 260
The EJB Client Side View......Page 261
Specifying the EJB Proxy Configuration......Page 266
The EJB Server Side View......Page 270
Detached Invokers - The Transport Middlemen......Page 271
The HA HttpInvoker - Clustered RMI/HTTP Transport......Page 276
The EJB Container......Page 277
EJBDeployer MBean......Page 278
Deploying EJBs Into Containers......Page 279
Container configuration information......Page 280
The instance-pool and container-pool-conf Elements......Page 285
The instance-cache and container-cache-conf Elements......Page 287
The locking-policy Element......Page 289
The commit-option and optiond-refresh-rate Element......Page 290
cluster-config......Page 291
Container Plug-in Framework......Page 292
org.jboss.ejb.ContainerPlugin......Page 293
org.jboss.ejb.Interceptor......Page 294
org.jboss.ejb.InstancePool......Page 295
org.jboss.ebj.InstanceCache......Page 296
org.jboss.ejb.EntityPersistenceManager......Page 298
org.jboss.ejb.StatefulSessionPersistenceManager......Page 304
Entity Bean Lifecycle......Page 306
Transaction Lock......Page 307
Pluggable Interceptors and Locking Policy......Page 308
Dedlock Detection......Page 309
Viewing Lock Information......Page 311
Ordered Access......Page 312
Explicitly Defining Read-Only Methods......Page 313
Instance Per Transaction Policy......Page 314
Running Within a Cluster......Page 316
Hangs and Transaction Timeouts......Page 317
CHAPTER 6 Messaging on JBoss - JMS Configuration and Architecture......Page 319
A Point-To-Point Example......Page 320
A Pub-Sub Example......Page 323
A Pub-Sub With Durable Topic Example......Page 331
A Point-To-Point With MDB Example......Page 334
OIL IL......Page 344
HTTP IL......Page 345
Persistence Manager......Page 346
Queues......Page 347
JBoss Messaging Configuration and MBeans......Page 348
org.jboss.mq.il.rmi.RMIServerILService......Page 349
org.jboss.mq.il.oil.OILServerILService......Page 350
org.jboss.mq.il.uil2.UILServerILService......Page 351
org.jboss.mq.server.jmx.Invoker......Page 353
org.jboss.mq.security.SecurityManager......Page 354
org.jboss.mq.server.MessageCache......Page 355
org.jboss.mq.pm.rollinglogged.PersistenceManager......Page 356
org.jboss.mq.pm.jdbc2.PersistenceManager......Page 357
org.jboss.mq.server.jmx.Queue......Page 359
Destination Security Configuration......Page 360
Creating Topics At Runtime......Page 361
Checking to see how the Message Cache is performing......Page 362
JCA Overview......Page 365
An Overview of the JBossCX Architecture......Page 370
BaseConnectionManager2 MBean......Page 372
RARDeployment MBean......Page 373
JBossManagedConnectionPool MBean......Page 374
A Sample Skeleton JCA Resource Adaptor......Page 375
Configuring JDBC DataSources......Page 385
Configuring Generic JCA Adaptors......Page 392
Sample Configurations......Page 395
J2EE Declarative Security Overview......Page 397
Security References......Page 401
Security Identity......Page 402
Security roles......Page 403
EJB method permissions......Page 404
Web Content Security Constraints......Page 407
What is JAAS?......Page 409
Subject and Principal......Page 410
Authentication of a Subject......Page 411
The JBoss Security Model......Page 415
Enabling Declarative Security in JBoss Revisited......Page 418
The JBoss Security Extension Architecture......Page 424
How the JaasSecurityManager Uses JAAS......Page 426
The JaasSecurityManagerService MBean......Page 429
An Extension to JaasSecurityManager, the JaasSecurityDomain MBean......Page 432
An XML JAAS Login Configuration MBean......Page 433
The JAAS Login Configuration Management MBean......Page 435
org.jboss.security.auth.spi.IdentityLoginModule......Page 436
org.jboss.security.auth.spi.UsersRolesLoginModule......Page 437
org.jboss.security.auth.spi.LdapLoginModule......Page 440
org.jboss.security.auth.spi.DatabaseServerLoginModule......Page 444
org.jboss.security.auth.spi.ProxyLoginModule......Page 446
org.jboss.security.auth.spi.RunAsLoginModule......Page 447
org.jboss.security.ClientLoginModule......Page 448
Writing Custom Login Modules......Page 449
Support for the Subject Usage Pattern......Page 450
A Custom LoginModule Example......Page 455
The Secure Remote Password (SRP) Protocol......Page 460
Providing Password Information for SRP......Page 465
Inside of the SRP algorithm......Page 467
An SRP example......Page 471
Running JBoss with a Java 2 security manager......Page 474
Using SSL with JBoss using JSSE......Page 478
The AbstractWebContainer Class......Page 487
The AbstractWebContainer Contract......Page 489
Use the Thread Context Class Loader......Page 494
Delegate web container authentication and authorization to JBossSX......Page 495
JBoss/Tomcat-4.1.x bundle notes......Page 496
The HTTP Connector......Page 499
The Coyote Connector......Page 501
Engine......Page 502
Manager......Page 503
Listener......Page 504
Using SSL with the JBoss/Tomcat bundle......Page 505
Setting up Virtual Hosts with the JBoss/Tomcat-4.x bundle......Page 511
Using Apache with the JBoss/Tomcat-4.x bundle......Page 514
Using Clustering......Page 515
Deployment......Page 516
Configuration......Page 517
Classloading behaviour......Page 522
Changing other HTTP listener port attributes......Page 523
Using SSL......Page 524
Using Distributed HttpSessions......Page 525
Using virtual hosts......Page 526
Running with Apache front-ending Jetty......Page 527
System Properties Management......Page 529
Property Editor Management......Page 530
Services Binding Management......Page 531
Running Two JBoss Instances......Page 534
Scheduling Tasks......Page 548
org.jboss.varia.scheduler.Scheduler......Page 549
The JBoss Logging Framework......Page 553
org.jboss.web.WebService......Page 554
Getting Started......Page 557
Example Code......Page 558
Tests......Page 563
Read-ahead......Page 565
The jbosscmp-jdbc Structure......Page 566
Entity Beans......Page 568
Entity Mapping......Page 571
CMP-Field Declaration......Page 576
CMP-Field Column Mapping......Page 577
Read-only Fields......Page 579
Auditng Entity Access......Page 580
Dependent Value Classes (DVCs)......Page 581
CMR-Field Abstract Accessors......Page 586
Relationship Declaration......Page 587
Relationship Mapping......Page 589
Relationship Role Mapping......Page 591
Foreign Key Mapping......Page 594
Relation-table Mapping......Page 595
Finder and ejbSelect Declaration......Page 597
EJB-QL Declaration......Page 598
Overriding the EJB-QL to SQL Mapping......Page 600
JBossQL......Page 601
DynamicQL......Page 602
DeclaredSQL......Page 604
Parameters......Page 608
BMP Custom Finders......Page 609
Loading Scenario......Page 610
Load Groups......Page 612
on-find......Page 613
on-load......Page 615
none......Page 617
Commit Options......Page 618
Eager-loading Process......Page 619
Lazy-loading Process......Page 621
Relationships......Page 622
Transactions......Page 625
Optimistic Locking......Page 629
Entity Commands and Primary Key Generation......Page 635
Existing Entity Commands......Page 636
Defaults......Page 639
Datasource Customization......Page 643
Type Mapping......Page 646
The GNU Lesser General Public License (LGPL)......Page 649
Appendix B The JBoss DTDs......Page 663
Appendix C Book Example Installation......Page 665
Index......Page 667