www.greenvulcanotechnologies.com

Download Installer (Linux, Mac OS)

GreenVulcano ESB 4: Quickstart guide (Manual installation)

Latest GreenVulcano instances work on Apache Karaf 4.1.5.

  • Download Karaf 4.1.5 (Select Binary Distribution -> tar.gz)
  • Extract tar.gz into a folder in your file system.
  • /apache-karaf-4.1.5 will be the Karaf home.

Installation

Before to run karaf, you have to configure GreenVulcano Maven repository: update /etc/**org.ops4j.pax.url.mvn.cfg** file and add to key **org.ops4j.pax.url.mvn.repositories** following row:

http://mvn.greenvulcano.com/nexus/content/groups/public@id=gv@snapshots, \

Then start Karaf (Open a terminal in #KarafHome /bin and write ./karaf)

Install feature repository and install gvegine

gvadmin@root()> feature:repo-add mvn:it.greenvulcano.gvesb/features/4.0.0/xml/features
gvadmin@root()> feature:install gvengine

To open GV Console go to http://localhost:8181/gvconsole/#/login and log with gvadmin gvadmin

If you want to stop Karaf and GV Console, insert halt into the terminal.


The list of karaf features, now also include those of GreenVulcano:

gvadmin@root()> feature:list

To show GreenVulcano features only:

gvadmin@root()> feature:list | grep Green

At the end of this process a folder will be created at **/GreenV**, which contains an empty GreenVulcano configuration. It is possibile to reference a different GreenVulcano configuration, simply by inserting the following line in the file **/etc/it.greenvulcano.gvesb.cfg**

gv.app.home=

It is necessary to restart karaf to properly load a new configuration.

Plugins and adapters

You can install specific plugins and adapters to extends GreenVulcano ESB v4


gvadmin@root()> feature:install gvvcl-rest

For data handler just install following bundle, with start level 96:

gvadmin@root()> feature:install gvdatahandler

To url mapping (httpInboundGateway) install also gvhttp: it is a war file and not a jar file, so don’t forget to add /war suffix:

gvadmin@root()> feature:install gvhttp

For database connections (JNDI, JDBC), refer to OPS4J Pax JDBC framework i.e. :

gvadmin@root()> feature:install pax-jdbc-oracle

or:

gvadmin@root()> feature:install pax-jdbc-mysql

For scheduled sevices install:

gvadmin@root()> feature:install gvscheduler
gvadmin@root()> feature:install gvscheduler-conf 

For jms queues intall:

gvadmin@root()> feature:install gvvcl-jms

Deploy

Export a configuration from Developer studio. Then choose whether to use “Developer Studio & GVConsole” or “Karaf” deploy.

  • Developer Studio & GVConsole – GVConsole -> Configuration – upload configurazion in .zip format – choose a Configuration-Id – press Deploy button
  • Karaf
      gvadmin@root()> gvesb:deploy Configuration-Id /path/to/vulcon/export.zip
    

    A folder named will be created into /GreenV, which contains GreenVulcano configuration.

Logging

You can setup a fine-grained logging service configuring proprerly log4j in karaf. This is a sample configuration in etc/org.ops4j.pax.logging.cfg to logging each service in a single file:

log4j2.property.MASTER_SERVICE = NOOP

# GVESB Appender to produce multiple log files - One per value of MASTER_SERVICE key in thread context map
log4j2.appender.gv.type = Routing
log4j2.appender.gv.name = RoutingGVCore
log4j2.appender.gv.routes.type = Routes
log4j2.appender.gv.routes.pattern = \$\$\\\{ctx:MASTER_SERVICE\}
log4j2.appender.gv.routes.service.type = Route
log4j2.appender.gv.routes.service.appender.type = RollingRandomAccessFile
log4j2.appender.gv.routes.service.appender.name = Rolling-\$\\\{ctx:MASTER_SERVICE\}
log4j2.appender.gv.routes.service.appender.fileName = ${karaf.data}/log/GVCore.\$\\\{ctx:MASTER_SERVICE\}.log
log4j2.appender.gv.routes.service.appender.filePattern = ${karaf.data}/log/${date:yyyy-MM}/GVCore.\$\\\{ctx:MASTER_SERVICE\}.%d{MM-dd-yyyy}.zip
log4j2.appender.gv.routes.service.appender.append = true
log4j2.appender.gv.routes.service.appender.layout.type = PatternLayout
log4j2.appender.gv.routes.service.appender.layout.pattern = [%d{ISO8601}][%-5.5p][%X{SERVICE}/%X{OPERATION}][%X{ID}][%X{bundle.id} - %X{bundle.name}][%t] - %m%n
log4j2.appender.gv.routes.service.appender.policies.type = Policies
log4j2.appender.gv.routes.service.appender.policies.time.type =TimeBasedTriggeringPolicy
log4j2.appender.gv.routes.service.appender.policies.time.interval = 1
log4j2.appender.gv.routes.service.appender.policies.time.modulate = true

# GVESB Logger mapping service name
log4j2.logger.greenvulcano.name = it.greenvulcano
log4j2.logger.greenvulcano.level = DEBUG
log4j2.logger.greenvulcano.appenderRef.gv.ref = RoutingGVCore
# Filtering specific services
#log4j2.logger.greenvulcano.appenderRef.gv.filter.mdc.type = ThreadContextMapFilter
#log4j2.logger.greenvulcano.appenderRef.gv.filter.mdc.operator = or
#log4j2.logger.greenvulcano.appenderRef.gv.filter.mdc.fleet.type = KeyValuePair
#log4j2.logger.greenvulcano.appenderRef.gv.filter.mdc.fleet.key = MASTER_SERVICE
#log4j2.logger.greenvulcano.appenderRef.gv.filter.mdc.fleet.value = (service name)

Monitoring

You can access to GV ESB v4 JMX infrastructure using jconsole connected to karaf.

Use this url

service:jmx:rmi:///jndi/rmi://<karaf host>:1099/karaf-root

to connect jconsole on a remote instance. All MBean are under the node GreenVulcano