Revision: 4802
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 21, 2008 19:28 by narkisr
Initial Code
require 'fileutils' Def='server/default/deploy/jms/' Conf='server/default/conf/' Markers=[{'<!-- Security domain for JBossMQ -->'=>:uncomment_end }, {'</application-policy>'=>:comment_end}, {'<!-- Security domain for JBossMQ when using file-state-service.xml'=>:comment_end}, {'-->'=>:uncomment_end}] class String def uncomment_end self.gsub(/\s*-->/, '') end def comment_end self.gsub(/\n/, '-->\0') end end class JMSNullPerPerformer def get_user_input puts 'enter your jboss folder path:' @dest=gets.chomp!+'/' puts 'enter you jboss examples (under doc) folder path:' puts 'default ['+@dest+'docs/]' if (@source=gets.chomp!).empty? then @source=@dest+'/docs/examples/jms/' end puts 'starting to apply JMS null persistency onto selected jboss' end def apply_additions {'null-persistence-service.xml'=>Def, 'file-state-service.xml'=>Def, 'conf/jbossmq-state.xml'=>Conf}.each{|file, d| FileUtils.cp(@source+file, @dest+d)} end def apply_deletions ['hsqldb-jdbc2-service.xml', 'hsqldb-jdbc-state-service.xml'].each{|file| if File.exist?(@dest+Def+file) then FileUtils.rm(@dest+Def+file)end } end def apply_new_security res='' loginConf = @dest+Conf+'login-config.xml' IO.readlines(loginConf).each{|line| if !Markers.empty? && line.include?(Markers.first.keys.first) line=line.send(Markers.shift.values.first) end res << line File.open(loginConf, 'w'){|file| file.puts res} } end end performer = JMSNullPerPerformer.new performer.get_user_input puts '* adding files' performer.apply_additions puts '* deleting files' performer.apply_deletions puts '* applying new security' performer.apply_new_security
Initial URL
Initial Description
This script will setup JBoss 4.2.2 to use null persistence (no DB, see http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfigJBossMQNullPersistence) when handling JMS messages.
Initial Title
JBoss Null JMS Persistency setup script
Initial Tags
ruby
Initial Language
Ruby