Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page documents the steps taken to deploy in Wildfly 9.0.2-Final. This is not complete and, so far, bedework is not running on that platform.

...

The documentation DataSource+configuration provides information and links on deploying the drivers and editing the config.

Deploying the driver - an example:
Code Block
Start wildfly
cd into the bin directory
./jboss-cli.sh 
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9990 /] deploy ~/bedework/files/postgresql-9.4-1204.jdbc42.jar --name=postgresql
[standalone@localhost:9990 /]

A script is provided in bedework/config/datasources under each of the database names, for example bedework/config/datasources/postgresql/wildfly-add-driver.txt

Take a copy of this script and run the jboss-cli to deploy your jar. You may need to delete the module if you wish to upgrade.

Deploying the driver - an example:
Code Block
Start wildfly
cd into the bin directory
./jboss-cli.sh --file=path-to-your-script

When loaded wildfly claims the postgresql-9.3 driver to be non-JDBC-compliant. It does, however, contain the file described in the documentation and it does recognize the driver class.

...

There is a system property org.bedework.jmx.isJboss5 which is set in the jboss 5 startup and used by the JMX utility classes in the ManagementContext.registerMBean method. It's unclear if this is needed for wildfly or if it was to address a jboss5 specific issue.

Activemq

The eventual aim is to remove the dependency on activemq. While there are no code dependencies the system does use some features of activemq not present in other JMS subsystems.

Following the instructions at https://developer.jboss.org/wiki/HowToUseOutOfProcessActiveMQWithWildFly

Replaced the line:

Code Block
<subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"/>

with

Code Block
<subsystem xmlns="urn:jboss:domain:resource-adapters:2.0">
  <resource-adapters>
    <resource-adapter id="activemq-rar.rar">
      <archive>
        activemq-rar-5.12.1.rar
      </archive>
      <transaction-support>XATransaction</transaction-support>
      <config-property name="ServerUrl">failover:(${org.bedework.activemq.uri})?timeout=3000</config-property>
      <connection-definitions>
        <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory"
                               jndi-name="java:/jms/BedeworkConnectionFactory"
                               enabled="true" pool-name="ConnectionFactory">
          <xa-pool>
            <min-pool-size>1</min-pool-size>
            <max-pool-size>200</max-pool-size>
            <prefill>false</prefill>
            <is-same-rm-override>false</is-same-rm-override>
          </xa-pool>
          <timeout>
            <blocking-timeout-millis>30000</blocking-timeout-millis>
            <idle-timeout-minutes>3</idle-timeout-minutes>
          </timeout>
        </connection-definition>
      </connection-definitions>
      <admin-objects>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:/activemq/queue/sysevents" use-java-context="true" pool-name="syseventsQueue">
          <config-property name="PhysicalName">
            bedework.sysevents
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:/activemq/queue/syseventslog" use-java-context="true" pool-name="syseventsLoggerQueue">
          <config-property name="PhysicalName">
            bedework.sysevents.logger
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue"
                      jndi-name="java:/activemq/queue/monitor" use-java-context="true"
                      pool-name="syseventsMonitorQueue">
          <config-property name="PhysicalName">
            bedework.sysevents.monitor
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue"
                      jndi-name="java:/activemq/queue/crawler" use-java-context="true"
                      pool-name="syseventsCrawlerQueue">
          <config-property name="PhysicalName">
            bedework.sysevents.crawler
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue"
                      jndi-name="java:/activemq/queue/changes" use-java-context="true"
                      pool-name="syseventsChangesQueue">
          <config-property name="PhysicalName">
            bedework.sysevents.changes
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue"
                      jndi-name="java:/activemq/queue/schedulerIn" use-java-context="true"
                      pool-name="scheduleInQueue">
          <config-property name="PhysicalName">
            bedework.scheduleIn
          </config-property>
        </admin-object>
        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue"
                      jndi-name="java:/activemq/queue/schedulerOut" use-java-context="true"
                      pool-name="scheduleOutQueue">
          <config-property name="PhysicalName">
            bedework.scheduleOut
          </config-property>
        </admin-object>
      </admin-objects>
    </resource-adapter>
  </resource-adapters>
</subsystem>

No idea what the significance of the trailing number is in the URN.

Downloaded activemq RA 5.12.1 and unzip it into a directory named activemq-rar-5.12.1.rar in standalone/deployments. This approach is based on that at https://wildflyext.gitbooks.io/wildfly-camel/content/components/camel-activemq.html

On restart force deployment by creating the empty .dodeploy filebedenote (to be renamed to bwmsg) module uses camel to provide the activemq features that were used in jboss, mostly virtual destinations. We are now able to use the standard wildfly jms system.

Access logging

Particularly useful for debugging. Go to the cli tool and enter the following:

...