Module: Puppet_X::Coi::Jboss::Provider::Jmsqueue

Includes:
BuildinsUtils
Defined in:
lib/puppet_x/coi/jboss/provider/jmsqueue.rb

Overview

A module for Jmsqueue

Instance Method Summary collapse

Instance Method Details

#createObject

Method that creates jms-queue in JBoss instance.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 6

def create
  if is_runasdomain
    profile = "--profile=#{@resource[:profile]}"
  else
    profile = ''
  end
  entries = @resource[:entries].join '", "'
  if not entries.empty?
    entries = '["%s"]' % entries
  else
    raise "Array of entries can not be empty"
  end
  durable = ToBooleanConverter.new(@resource[:durable]).to_bool
  extcmd = "/extension=org.jboss.as.messaging"
  if not execute("#{extcmd}:read-resource()")[:result]
    bringUp "Extension - messaging", "#{extcmd}:add()"
  end
  syscmd = compilecmd "/subsystem=messaging"
  if not execute("#{syscmd}:read-resource()")[:result]
    bringUp "Subsystem - messaging", "#{syscmd}:add()"
  end
  hornetcmd = compilecmd "/subsystem=messaging/hornetq-server=default"
  if not execute("#{hornetcmd}:read-resource()")[:result]
    bringUp "Default HornetQ", "#{hornetcmd}:add()"
  end
  cmd = "jms-queue #{profile} add --queue-address=#{@resource[:name]} --entries=#{entries} --durable=#{durable.to_s}"
  bringUp "JMS Queue", cmd
end

#destroyObject

Method to remove jms-queue from Jboss instance.



36
37
38
39
40
41
42
43
44
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 36

def destroy
  if is_runasdomain
    profile = "--profile=#{@resource[:profile]}"
  else
    profile = ''
  end
  cmd = "jms-queue #{profile} remove --queue-address=#{@resource[:name]}"
  bringDown "JMS Queue", cmd
end

#durableObject

Standard getter for durable value.



61
62
63
64
65
66
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 61

def durable
  trace 'durable'
  Puppet.debug "Durable given: #{@resource[:durable].inspect}"
  # normalization
  ToBooleanConverter.new($data['durable']).to_bool.to_s
end

#durable=(value) ⇒ Object

Standard setter for durable value.

Parameters:

  • value (Boolean)

    a value of durable, can be true or false



71
72
73
74
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 71

def durable= value
  trace 'durable= %s' % value.to_s
  setattr 'durable', ('"%s"' % ToBooleanConverter.new(value).to_bool)
end

#entriesObject

Standard getter for entries value.



77
78
79
80
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 77

def entries
  trace 'entries'
  $data['entries']
end

#entries=(value) ⇒ Object

Standard setter for entries value.

Parameters:

  • value (Array)

    a value of entries



85
86
87
88
89
90
91
92
93
94
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 85

def entries= value
  trace 'entries= %s' % value.inspect
  entries = value.join '", "'
  if not entries.empty?
    entries = '["%s"]' % entries
  else
    raise "Array of entries can not be empty"
  end
  setattr 'entries', entries
end

#exists?Boolean

Method to check if there is jms-queue. Methods calls read-resource to validate if jms-queue is present.

Returns:

  • (Boolean)


47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/puppet_x/coi/jboss/provider/jmsqueue.rb', line 47

def exists?
  $data = nil
  cmd = compilecmd "/subsystem=messaging/hornetq-server=default/jms-queue=#{@resource[:name]}:read-resource()"
  res = executeAndGet cmd

  if not res[:result]
    Puppet.debug "JMS Queue do not exists"
    return false
  end
  $data = res[:data]
  return true
end