天天看點

GRAILS JMS (sonicMQ)內建

網上很多示例都是以activeMQ和openMQ為主,對SonicMQ的配置不多。

下面是針對sonicMQ的配置資訊,resources.groovy内容如下:

[i][color=blue]beans = {

connectionFactory(org.springframework.jndi.JndiObjectFactoryBean){

jndiTemplate = ref("jndiTemplate")

jndiName = "testConnectionFactory"

}

jndiTemplate(org.springframework.jndi.JndiTemplate){

environment =

['java.naming.factory.initial':'com.sonicsw.jndi.mfcontext.MFContextFactory',

'com.sonicsw.jndi.mfcontext.domain' : 'Domain1',

'com.sonicsw.jndi.mfcontext.idleTimeout' : '60000',

'java.naming.security.principal' : 'Administrator',

'java.naming.security.credentials' : 'Administrator',

'java.naming.provider.url' : 'tcp://localhost:2506']

}

}[/color][/i]

這裡jndiName對應的connectionFactory是在sonicMQ Management Cosole配置的,名字是testConnectionFactory。

接收的程式代碼如下:

[i][color=blue]class SampleQ1Service {

static expose = ['jms']

static destination = "testQueue"

def onMessage(messageObject) {

println "GOT MESSAGE: $messageObject"

}

}

[/color][/i]

監聽的Queue的名字是testQueue。

發送的代碼如下:

[i][color=blue]class TestController {

def index = {

sendJMSMessage("testQueue", "Blog Entry entitled sss has been created.")

}

}

[/color][/i]

搞定了。