nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

JBoss Script Service作った

JBoss AS 6まではBeanShell Deployerがあったんだけど、AS7からは無くなってしまったのでコンテナのAPI叩くテストとかがほんのちょっと面倒。

と思ったので無いなら作れ、ということで替わりにJBoss Script Serviceを作ったよ。JSR-223 javax.scriptを使っております。

Javaに標準で入っているJavaScript(Rhino)の他にJRubyもつっこんであるので俺得。

# infinispan-dump.rb

require 'java'

java_import "javax.naming.InitialContext"

war_name = "cluster" # We have cluster.war

context = InitialContext.new
cacheManager = context.lookup("java:jboss/infinispan/container/web")
cache = cacheManager.getCache(war_name)
dataContainer = cache.getDataContainer()
dataContainer.each do |e|
  puts "#{e.key} : #{e.value}"
end