Managing WildFly and EAP patches

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

Patching the application server is e mechanism by which you can commit or rollback changes to the application server libraries - see the first article about it: Patching WildFly application server . Patching the application server has however some implications if you want to apply further changes to the application server modules

Let's see an example. Here is a patched JBoss EAP 6.4.6. Things work pretty much the same on WildFly. Let's have a look at the modules of the application server:

$ cd modules/system/layers/base/
$ ls -al
total 56
drwxrwxr-x 14 jboss jboss 4096 Apr  6 16:01 .
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 ..
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 asm
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 ch
drwxrwxr-x  6 jboss jboss 4096 Mar 27  2015 com
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 gnu
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 javaee
drwxrwxr-x 26 jboss jboss 4096 Mar 27  2015 javax
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 net
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 nu
drwxrwxr-x 27 jboss jboss 4096 Mar 27  2015 org
drwxrwxr-x  8 jboss jboss 4096 Apr  6 16:02 .overlays
drwxrwxr-x  3 jboss jboss 4096 Mar 27  2015 sun

As you can see a directory named .overlays is included. Let's look in it:

$ ls .overlays/
layer-base-jboss-eap-6.4.1.CP  layer-base-jboss-eap-6.4.3.CP  layer-base-jboss-eap-6.4.5.CP
layer-base-jboss-eap-6.4.2.CP  layer-base-jboss-eap-6.4.4.CP  layer-base-jboss-eap-6.4.6.CP

  Here, you have different layers for your modules. On each folder you can find the modules related to that patch. Why is this important ? Because if you are going to apply changes to the modules of the server, then you have to apply them in the related layer of the patch.

Let's say you are going to patch the Hibernate libs on EAP 6.4.6: then you have to operate on the libraries contained in the folder: /space/jboss/jboss-eap-6.4/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.4.6.CP/org/jboss/as/jpa/hibernate

If you want details about the patch history on the Host Controller say named slave1, that was applied, then issue from the CLI:

[domain@master:9999 /] patch history --host=slave1
{
    "outcome" : "success",
    "result" : [
        {
            "patch-id" : "jboss-eap-6.4.6.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        },
        {
            "patch-id" : "jboss-eap-6.4.5.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        },
        {
            "patch-id" : "jboss-eap-6.4.4.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        },
        {
            "patch-id" : "jboss-eap-6.4.3.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        },
        {
            "patch-id" : "jboss-eap-6.4.2.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        },
        {
            "patch-id" : "jboss-eap-6.4.1.CP",
            "type" : "cumulative",
            "applied-at" : "4/6/16 4:00 PM"
        }
    ],
    "server-groups" : null
}

 Additionally, a file named "version.txt" is available in the JBOSS_HOME directory, containing the last applied patch:

$ cat version.txt 
Red Hat JBoss Enterprise Application Platform - Version 6.4.6.GA 

 

Related articles available on mastertheboss.com

JBoss MBeans POJO

JMX MBean services are the core building blocks of the JBoss Appl

How to a dump of JNDI tree with JMX console ?

#2 JBoss Howto. This is the recipe of the day

How to configure JBoss to bind to a different IP ?

  If you want to change the jboss.bind.address property use the 

How to shut down JBoss from remote ?

JBoss recipe of the day

How to create multiple instances of an Mbean?

  Supposing you need two instances of an MBean, let's say one fo

JBoss classloader issues

By default JBoss (prior to version 3.2) uses a flat class loading

Follow us on Twitter