Я хочу взять что-то вроде этого, которое нормально работает в Grails 'resource.xml (стандартный материал Spring xml):
<jee:jndi-lookup id="remoteConnectionFactory"
jndi-name="jms/WLQueueConnectionFactory" resource-ref="false">
<jee:environment>
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://remote_uri:port/
</jee:environment>
</jee:jndi-lookup>
и превратите его в построитель бинов Grails DSL в resources.groovy. Я попробовал комбинацию следующего (в основном методом проб и ошибок, чтобы увидеть, смогу ли я заставить его работать, никто не делает):
ejbJndi(JndiTemplate)
{ bean ->
bean.scope = 'session'
environment = [
"java.naming.provider.url" : "t3://remote_uri:port/",
"java.naming.factory.initial" : "weblogic.jndi.WLInitialContextFactory"
]
}
xmlns jee:"http://www.springframework.org/schema/jee"
xmlns context:"http://www.springframework.org/schema/context"
jee.'jndi-lookup'(id:"jmsConnectionFactory", jndiName: "com.retailexp.jms.ConnectionFactory", lookupOnStartup: false,
proxyInterface: "javax.jms.ConnectionFactory", resourceRef: "false", 'jndi-environment': ref("ejbJndi")) {
cache = true
exposeAccessContext = true
jndiTemplate = ref("ejbJndi")
jndiEnvironment = [
"java.naming.provider.url" : "t3://remote_uri:port/",
"java.naming.factory.initial" : "weblogic.jndi.WLInitialContextFactory"
] as Properties
environmentRef = [
"java.naming.provider.url" : "t3://remote_uri:port/",
"java.naming.factory.initial" : "weblogic.jndi.WLInitialContextFactory"
]
environment = """
java.naming.provider.url=t3://remote_uri:port/
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
"""
Опять же, это комбинации вещей, которые я пробовал, а не то, как будет выглядеть окончательный код (я надеюсь, что только один из них сработает!). Как вы можете сказать, я немного нащупываю в темноте.
jndi-lookup настроен нормально и является допустимым DSL-компонентом, но среда (тип материала JndiTemplate) не имеет значений (java.naming.factory.initial и т. Д.), Которые я устанавливаю для захвата удаленного InitialContext.