files/providers/wls_jms_topic/create_modify.py.erb
# check the domain else we need to skip this (done in wls_access.rb)
real_domain='<%= domain %>'
wlst_action = '<%= wlst_action %>'
name = '<%= topic_name %>'
jmsmodule = '<%= jmsmodule %>'
distributed = '<%= distributed %>'
jndiname = '<%= jndiname %>'
subdeployment = '<%= subdeployment %>'
balancingpolicy = '<%= balancingpolicy %>'
quota = '<%= quota %>'
defaulttargeting = '<%= defaulttargeting %>'
redeliverylimit = '<%= redeliverylimit %>'
expirationpolicy = '<%= expirationpolicy %>'
errordestinationtype = '<%= errordestinationtype %>'
errordestination = '<%= errordestination %>'
expirationloggingpolicy = '<%= expirationloggingpolicy %>'
timetolive = '<%= timetolive %>'
timetodeliver = '<%= timetodeliver %>'
deliverymode = '<%= deliverymode %>'
redeliverydelay = '<%= redeliverydelay %>'
messagelogging = '<%= messagelogging %>'
forwardingpolicy = '<%= forwardingpolicy %>'
destination_keys = '<%= destination_keys %>'
consumption_paused = '<%= consumptionpaused %>'
insertion_paused = '<%= insertionpaused %>'
production_paused = '<%= productionpaused %>'
edit()
startEdit()
try:
cd('/')
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule)
if distributed == "1":
if wlst_action == 'create':
cmo.createUniformDistributedTopic(name)
jmsWlsType = '/UniformDistributedTopics/'
else:
if wlst_action == 'create':
cmo.createTopic(name)
jmsWlsType = '/Topics/'
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+jmsWlsType+name)
set_attribute_value('JNDIName', jndiname, use_default_value_when_empty)
set_attribute_value('ConsumptionPausedAtStartup', consumption_paused, use_default_value_when_empty)
set_attribute_value('InsertionPausedAtStartup' , insertion_paused, use_default_value_when_empty)
set_attribute_value('ProductionPausedAtStartup' , production_paused, use_default_value_when_empty)
if destination_keys:
print "jms destinationkeys: " + destination_keys
key_entries = destination_keys.split(',')
set('DestinationKeys',jarray.array(key_entries, String))
if subdeployment and defaulttargeting == "0":
set_attribute_value('SubDeploymentName', subdeployment, use_default_value_when_empty)
elif not subdeployment and defaulttargeting == "1":
set_attribute_value('DefaultTargetingEnabled', true, use_default_value_when_empty)
elif subdeployment and defaulttargeting == "1":
raise ValueError('Defaulttargeting and Subdeployment are both set, only one can be active for JMS components')
else:
raise ValueError('Either defaulttargeting or a subdeployment needs to be selected for JMS components')
print "distributed: ",distributed
if distributed == "1":
print "distributed"
if balancingpolicy != '':
set_attribute_value('LoadBalancingPolicy', balancingpolicy, use_default_value_when_empty)
elif balancingpolicy == '':
set_attribute_value('LoadBalancingPolicy', 'Round-Robin', use_default_value_when_empty)
if forwardingpolicy != '':
set_attribute_value('ForwardingPolicy', forwardingpolicy, use_default_value_when_empty)
elif forwardingpolicy == '':
set_attribute_value('ForwardingPolicy', 'Replicated', use_default_value_when_empty)
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+jmsWlsType+name+'/DeliveryFailureParams/'+name)
set_attribute_value('ExpirationPolicy', expirationpolicy, use_default_value_when_empty)
set_attribute_value('RedeliveryLimit' , redeliverylimit, use_default_value_when_empty)
if errordestinationtype:
jmsErrType = errordestinationtype
else:
if distributed == "1":
jmsErrType = 'UniformDistributedQueues'
else:
jmsErrType = 'Queues'
print "errorbean "+'/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+'/'+jmsErrType+'/'+errordestination
if errordestination:
cmo.setErrorDestination(getMBean('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+'/'+jmsErrType+'/'+errordestination))
else:
cmo.setErrorDestination(None)
set_attribute_value('ExpirationLoggingPolicy', expirationloggingpolicy)
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+jmsWlsType+name+'/DeliveryParamsOverrides/'+name)
set_attribute_value('TimeToLive' , timetolive, use_default_value_when_empty)
set_attribute_value('TimeToDeliver' , timetodeliver, use_default_value_when_empty)
set_attribute_value('DeliveryMode' , deliverymode, use_default_value_when_empty)
set_attribute_value('RedeliveryDelay', redeliverydelay, use_default_value_when_empty)
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+jmsWlsType+name)
if quota:
cmo.setQuota(getMBean('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+'/Quotas/'+quota ))
else:
cmo.setQuota(None)
cd('/JMSSystemResources/'+jmsmodule+'/JMSResource/'+jmsmodule+jmsWlsType+name+'/MessageLoggingParams/'+name)
set_attribute_value('MessageLoggingEnabled', messagelogging, use_default_value_when_empty)
save()
activate()
report_back_success()
except:
report_back_error()